5fc41f3c061af258ba5171f3d997c1af9592e725
6 LRESULT WINAPI
MainWndProc(HWND
, UINT
, WPARAM
, LPARAM
);
9 WinMain(HINSTANCE hInstance
,
10 HINSTANCE hPrevInstance
,
18 wc
.lpszClassName
= "MenuTestClass";
19 wc
.lpfnWndProc
= MainWndProc
;
20 wc
.style
= CS_VREDRAW
| CS_HREDRAW
;
21 wc
.hInstance
= hInstance
;
22 wc
.hIcon
= LoadIcon(NULL
, (LPCTSTR
)IDI_APPLICATION
);
23 wc
.hCursor
= LoadCursor(NULL
, (LPCTSTR
)IDC_ARROW
);
24 wc
.hbrBackground
= (HBRUSH
)(COLOR_BTNFACE
+ 1);
25 wc
.lpszMenuName
= (LPCTSTR
)IDM_MAINMENU
;
28 if (RegisterClass(&wc
) == 0)
30 fprintf(stderr
, "RegisterClass failed (last error 0x%lX)\n",
35 hWnd
= CreateWindow("MenuTestClass",
37 WS_OVERLAPPEDWINDOW
| WS_VISIBLE
,
48 fprintf(stderr
, "CreateWindow failed (last error 0x%lX)\n",
53 while(GetMessage(&msg
, NULL
, 0, 0))
55 TranslateMessage(&msg
);
56 DispatchMessage(&msg
);
62 LRESULT CALLBACK
MainWndProc(HWND hWnd
, UINT msg
, WPARAM wParam
, LPARAM lParam
)
68 switch(LOWORD(wParam
))
81 pos
.x
= LOWORD(lParam
);
82 pos
.y
= HIWORD(lParam
);
83 ClientToScreen(hWnd
, &pos
);
85 if((Menu
= GetMenu(hWnd
)) && (Menu
= GetSubMenu(Menu
, 1)))
87 TrackPopupMenu(Menu
, 0, pos
.x
, pos
.y
, 0, hWnd
, NULL
);
98 return DefWindowProc(hWnd
, msg
, wParam
, lParam
);