summaryrefslogtreecommitdiff
path: root/widgetfactory.cpp
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-28 18:41:08 +0200
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-28 18:47:08 +0200
commitff2992cd89491957543667e91fa1fd4373c004d9 (patch)
tree50a399edb8c3f9ea73d038a35ec4622a09b0ec39 /widgetfactory.cpp
parent65d9985bdcaed63b52bfe8c35c61d8a4a43a8292 (diff)
add menus to widget factory
Diffstat (limited to 'widgetfactory.cpp')
-rw-r--r--widgetfactory.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp
index 6e398b3..de7efe2 100644
--- a/widgetfactory.cpp
+++ b/widgetfactory.cpp
@@ -22,6 +22,10 @@ enum {
ID_NOTEBOOK,
ID_B_TABBGSOLID,
ID_B_TABBGTEXTURE,
+ IDM_FILE,
+ IDM_FILE_CLOSE,
+ IDM_HELP,
+ IDM_HELP_ABOUT,
ID__MAX
};
@@ -78,7 +82,7 @@ handleCommand(void *closure, HWND window, WORD notificationcode, WORD sourceid,
HWND combo = ALF_WidgetHwndById(window, ID_COMBO2);
ALF_ComboBoxSetCurrentIndex(combo, -1);
}
- if (control != NULL && sourceid == ID_B2) {
+ if (sourceid == ID_B2) {
MessageBox(window, TEXT("Hello World!"), TEXT("Hello"), MB_ICONASTERISK|MB_OK);
}
if (control != NULL && sourceid == ID_B3) {
@@ -98,6 +102,10 @@ handleCommand(void *closure, HWND window, WORD notificationcode, WORD sourceid,
ALF_NotebookRemoveFlag(nb, ALF_NOTEBOOK_SOLID_TAB_BACKGROUND);
}
+ if (sourceid == IDM_FILE_CLOSE) {
+ SendMessage(window, WM_CLOSE, 0, 0);
+ }
+
return 0;
}
@@ -375,6 +383,21 @@ WinMain
ALF_ResizeWindow(win, 1, 1);
+ HMENU mainmenu = CreateMenu();
+ HMENU filemenu = CreateMenu();
+ HMENU helpmenu = CreateMenu();
+
+ AppendMenu(filemenu, MF_STRING, ID_B2, TEXT("Hello"));
+ AppendMenu(filemenu, MF_SEPARATOR, 0, 0);
+ AppendMenu(filemenu, MF_STRING, IDM_FILE_CLOSE, TEXT("&Close\tAlt+F4"));
+
+ AppendMenu(helpmenu, MF_STRING, IDM_HELP_ABOUT, TEXT("&About"));
+
+ AppendMenu(mainmenu, MF_POPUP, (UINT_PTR)filemenu, TEXT("&File"));
+ AppendMenu(mainmenu, MF_POPUP, (UINT_PTR)helpmenu, TEXT("&Help"));
+
+ SetMenu(win, mainmenu);
+
ALF_ShowModal(win);
ALF_DestroyWindow(win);