= = = = = = = 版上的前輩、先進好 = = = = = = = [New] → [Console Wizard],將 Console Application 點掉
小弟是用 BCB 6.0 想建立一個最陽春的視窗,但過程中出了錯
#include
#pragma hdrstop
#pragma argsused
//--------------------------------------------------------------------------- char* szAppName = "MyWindowClass" ; // 宣告視窗函式 Window Procedure
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc ;
HWND hwnd ;
MSG Msg ; // 註冊視窗類別
wc.cbSize = sizeof( WNDCLASSEX ) ;
wc.style = 0 ;
wc.lpfnWndProc = WndProc ;
wc.cbClsExtra = 0 ;
wc.cbWndExtra = 0 ;
wc.hInstance = hInstance ;
wc.hIcon = LoadIcon( NULL , IDI_APPLICATION ) ;
wc.hCursor = LoadCursor( NULL,IDC_ARROW ) ;
wc.hbrBackground = (HBRUSH)( COLOR_WINDOW 1 ) ;
wc.lpszMenuName = NULL ;
wc.lpszClassName = szAppName ;
wc.hIconSm = LoadIcon(NULL,IDI_APPLICATION) ; if(!RegisterClassEx(&wc))
{
MessageBox( NULL , "視窗類別登記失敗!" , "發生錯誤!" ,
MB_ICONEXCLAMATION | MB_OK);
return 0 ;
} hwnd = CreateWindowEx( WS_EX_CLIENTEDGE , szAppName , "簡單的視窗" ,
WS_OVERLAPPEDWINDOW , CW_USEDEFAULT , CW_USEDEFAULT ,
300 , 200 , NULL , NULL , hInstance , NULL ) ; // 建立視窗
if(hwnd == NULL)
{
MessageBox( NULL , "視窗建立失敗!", "發生錯誤!",
MB_ICONEXCLAMATION | MB_OK) ;
return 0 ;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd); // 設置訊息迴圈
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
return Msg.wParam;
}
return 0 ;
} // 準備視窗函式 Window Procedure
LRESULT WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CLOSE :
DestroyWindow(hwnd) ; break ;
case WM_DESTROY :
PostQuitMessage(0) ; break ;
default :
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0 ;
}
//--------------------------------------------------------------------------- 錯誤訊息:
(1) [C Error] Unit1.c(64): E2356 Type mismatch in redeclaration of 'WndProc'
(2) [C Error] Unit1.c(9): E2344 Earlier declaration of 'WndProc'
小弟該怎麼做才對呢?感謝指導