윈도우즈 노트 - 간단한 윈도우즈 GUI 응용 프로그램

8848 단어 windows
간단한 윈도우즈 GUI 응용 프로그램:
코드 다운로드(VS2008) :
 

  
    
#include < windows.h > // Windows

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
//

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd)
{
HWND hwnd;
//
MSG msg; //
TCHAR lpszClassName[] = TEXT( " " );

WNDCLASS wc;
//
wc.style = CS_HREDRAW | CS_VREDRAW;
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)::GetStockObject(WHITE_BRUSH);
wc.lpszMenuName
= NULL;
wc.lpszClassName
= lpszClassName;

::RegisterClass(
& wc); //

hwnd
= CreateWindow(lpszClassName, //
TEXT( " Windows " ),
WS_OVERLAPPEDWINDOW,
120 , 50 , 800 , 600 ,
NULL,
NULL,
hInstance,
NULL);

::ShowWindow(hwnd,SW_SHOWNORMAL);
//
::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_LBUTTONDOWN: //
{
::MessageBeep(
0 ); // API
}
break ;
case WM_DESTROY:
::PostQuitMessage(
0 );
break ;
default :
return ::DefWindowProc(hwnd,message,wParam,lParam);
}
return 0 ;
}

본문 주소: http://www.cnblogs.com/fangyukuan/archive/2010/08/31/1814159.html

좋은 웹페이지 즐겨찾기