Menu
Posted butchert
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Menu相关的知识,希望对你有一定的参考价值。
#include "windows.h" #include "resource.h" LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; HMENU hm; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT ("HelloWin") ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; hm=CreateMenu(); HMENU hm1=CreatePopupMenu(); AppendMenu(hm,MF_POPUP|MF_STRING,(UINT)hm1,"File"); AppendMenu(hm1,MF_POPUP,1001,"New"); AppendMenu(hm1,MF_STRING,1002,"Close"); AppendMenu(hm1,MF_STRING,1003,"Exit"); HMENU hm2=CreatePopupMenu(); AppendMenu(hm,MF_POPUP|MF_STRING,(UINT)hm2,"Edit"); AppendMenu(hm2,MF_STRING,(UINT)hm2,"Copy"); AppendMenu(hm2,MF_STRING,(UINT)hm2,"Paste"); wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)) { MessageBox ( NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR); return 0 ; } hwnd=CreateWindow(szAppName, // window class name TEXT ("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT,// initial x position CW_USEDEFAULT,// initial y position CW_USEDEFAULT,// initial x size CW_USEDEFAULT,// initial y size NULL, // parent window handle hm, // window menu handle hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: return 0; case WM_PAINT: return 0 ; case WM_COMMAND: switch (LOWORD(wParam)) { case 1001: MessageBox(NULL,"New","1001",MB_OK); break; case 1002: MessageBox(NULL,"Close","1002",MB_OK); break; case 1003: MessageBox(NULL,"Exit","1003",MB_OK); break; } return 0; case WM_DESTROY: PostQuitMessage (0) ; return 0; } return DefWindowProc (hwnd, message, wParam, lParam) ; }
以上是关于Menu的主要内容,如果未能解决你的问题,请参考以下文章
Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段
Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段