線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2031
推到 Plurk!
推到 Facebook!

MENU 跑不出來...

答題得分者是:xzylzh
rogan321
高階會員


發表:21
回覆:307
積分:200
註冊:2003-05-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-26 21:42:13 IP:219.68.xxx.xxx 訂閱
請教一下這個程式碼錯在哪? 為什麼 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-06-19 10:24:33 IP:219.133.xxx.xxx 未訂閱
你的程式码我编译后run了,System Menu可以出来啊,添加了三项,而且都有效啊。
系統時間:2024-04-26 3:55:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!