MENU 跑不出來... |
答題得分者是:xzylzh
|
rogan321
高階會員 發表:21 回覆:307 積分:200 註冊:2003-05-15 發送簡訊給我 |
請教一下這個程式碼錯在哪? 為什麼 MENU 跑不出來?
[code cpp] #define IDM_SYS_ABOUT 1 #define IDM_SYS_HELP 2 #define IDM_SYS_REMOVE 3 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) ; static TCHAR szAppName[]= TEXT("PoorMenu") ; int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,PSTR szCmdLine,int iCmdShow) { HMENU hMenu ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; 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 WindowsNT!"),szAppName,MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow(szAppName, TEXT("The Poor-Person's Menu"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL) ; hMenu = GetSystemMenu (hwnd, FALSE) ; AppendMenu(hMenu,MF_SEPARATOR, 0,NULL) ; AppendMenu(hMenu,MF_STRING,IDM_SYS_ABOUT, TEXT("About...")) ; AppendMenu(hMenu,MF_STRING,IDM_SYS_HELP, TEXT("Help...")) ; AppendMenu(hMenu,MF_STRING,IDM_SYS_REMOVE,TEXT("Remove Additions")) ; DrawMenuBar(hwnd); 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_PAINT : DrawMenuBar(hwnd); break ; case WM_SYSCOMMAND: switch (LOWORD(wParam)) { case IDM_SYS_ABOUT: MessageBox(hwnd,TEXT("A Poor-Person's Menu Program\n") TEXT("(c) test,1998"), szAppName,MB_OK|MB_ICONINFORMATION) ; return 0 ; case IDM_SYS_HELP: MessageBox(hwnd,TEXT("Help not yet implemented!"), szAppName, MB_OK | MB_ICONEXCLAMATION) ; return 0 ; case IDM_SYS_REMOVE: GetSystemMenu(hwnd,TRUE) ; return 0 ; } break ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc(hwnd,message,wParam,lParam) ; } [/code] 編輯記錄
rogan321 重新編輯於 2008-01-26 21:43:33, 註解 無‧
|
xzylzh
一般會員 發表:0 回覆:6 積分:16 註冊:2002-08-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |