application/main.c

changeset 1059
226140134594
parent 1055
02af1d4a88df
child 1060
74bed80a0503
--- a/application/main.c	Sun Jan 25 16:27:12 2026 +0100
+++ b/application/main.c	Tue Jan 27 12:23:40 2026 +0100
@@ -1238,6 +1238,8 @@
 
 #ifdef UI_WIN32
 
+static UiList *menu_list;
+
 static void action_button(UiEvent *event, void *data) {
     printf("button clicked\n");
 }
@@ -1301,12 +1303,23 @@
 	ui_show(obj);
 }
 
+void action_menu_item(UiEvent *event, void *userdata) {
+    printf("menu item clicked\n");
+}
+
 int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
 //int main() {
     ui_init("app1", 0, NULL);
 
+    menu_list = ui_list_new(ui_global_context(), "menulist");
+    ui_list_append(menu_list, "List Item 0");
+    ui_list_append(menu_list, "List Item 1");
+    ui_list_append(menu_list, "List Item 2");
+    ui_list_append(menu_list, "List Item 3");
+    ui_list_append(menu_list, "List Item 4");
+
     ui_menu("File") {
-        ui_menuitem("Open");
+        ui_menuitem("Open", .onclick = action_menu_item);
         ui_menu_toggleitem("Test");
         ui_menuseparator();
         ui_menu_radioitem(.label = "Option 1", .varname = "radio");
@@ -1316,6 +1329,13 @@
         ui_menuseparator();
         ui_menuitem("Close");
     }
+    ui_menu("Test") {
+        ui_menuitem("Item 0");
+        ui_menuseparator();
+        ui_menu_itemlist(.varname = "menulist");
+        ui_menuseparator();
+        ui_menuitem("Item X");
+    }
 
     ui_onstartup(application_startup, NULL);
 

mercurial