summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/dialog.h8
-rw-r--r--src/test/dialog.rc19
-rw-r--r--src/test/w32dtst.cpp26
3 files changed, 53 insertions, 0 deletions
diff --git a/src/test/dialog.h b/src/test/dialog.h
index 5b08673..7123816 100644
--- a/src/test/dialog.h
+++ b/src/test/dialog.h
@@ -11,3 +11,11 @@
#define IDDIRTXT 11
#define IDDIRBUT 12
#define IDCOMBO 13
+#define IDMENU 14
+#define IDMENUFILE 15
+#define IDMENULOAD 16
+#define IDMENUSAVE 17
+#define IDMENUQUIT 18
+#define IDMENUTEST 19
+#define IDMENUTESTITEM1 20
+#define IDMENUTESTITEM2 21
diff --git a/src/test/dialog.rc b/src/test/dialog.rc
index d280453..ed3508e 100644
--- a/src/test/dialog.rc
+++ b/src/test/dialog.rc
@@ -5,6 +5,7 @@ TESTDLG DIALOG 10, 10, 500, 300
STYLE WS_POPUP | WS_BORDER
CAPTION "Test Dialog"
FONT 8,"MS Shell Dlg"
+ MENU IDMENU
{
PUSHBUTTON "Try Me!", IDBUTTON, 10, 10, 150, 18
AUTOCHECKBOX "Check", IDCHECK, 10,30,150,18
@@ -21,3 +22,21 @@ TESTDLG DIALOG 10, 10, 500, 300
LTEXT "Text:", IDSTATIC1, 210, 10, 35, 12
EDITTEXT IDTEXT, 250, 10, 100, 100, ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_MULTILINE | ES_WANTRETURN
}
+
+IDMENU MENU
+{
+ POPUP "File"
+ {
+ MENUITEM "Load", IDMENULOAD
+ MENUITEM "Save", IDMENUSAVE
+ MENUITEM "Quit", IDMENUQUIT
+ }
+ POPUP "Test"
+ {
+ MENUITEM "Test Item 1", IDMENUTESTITEM1
+ POPUP "Sub"
+ {
+ MENUITEM "Test Item 2", IDMENUTESTITEM2
+ }
+ }
+}
diff --git a/src/test/w32dtst.cpp b/src/test/w32dtst.cpp
index 0e09ea2..75b5b44 100644
--- a/src/test/w32dtst.cpp
+++ b/src/test/w32dtst.cpp
@@ -59,6 +59,9 @@ public:
(this,static_cast<W32DLib::W32DLibCallback>(&Test::OnComboDbl));
m_combo.OnTextChanged
(this,static_cast<W32DLib::W32DLibCallback>(&Test::OnComboTxt));
+
+ SetMenuProc
+ (this,static_cast<W32DLib::W32DLibCallback>(&Test::OnMenu));
}
virtual ~Test()
@@ -201,6 +204,25 @@ private:
std::cout << ":GetText=" << m_text.GetText() << std::endl;
return TRUE;
}
+
+ BOOL OnMenu(UINT msg, WPARAM wp, LPARAM lp)
+ {
+ int cmd=LOWORD(wp);
+
+ std::cout << "Menu command " << cmd << std::endl;
+
+ switch(cmd)
+ {
+ case IDMENUQUIT:
+ Dialog::Close(IDCANCEL);
+ break;
+
+ default:
+ break;
+ }
+
+ return TRUE;
+ }
};
int WINAPI WinMain (HINSTANCE hInstance,
@@ -217,6 +239,10 @@ int WINAPI WinMain (HINSTANCE hInstance,
{
std::cout << "res=IDOK" << std::endl;
}
+ else if (i==IDCANCEL)
+ {
+ std::cout << "res=IDCANCEL" << std::endl;
+ }
else
{
std::cout << "res=" << i << std::endl;