要点:先把程序代码完整的敲出来,运行看效果。后面在分析程序的流程。不废话了直接上代码。
代码如下:
#include <Windows.h>
LRESULT WndProc(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM lParam);
HINSTANCE hIns;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstnce,
LPSTR lpCmdLine, int cmdShow)
{
hIns = hInstance;
MSG nMsg = {0};
HWND hWnd = 0;
WNDCLASS wc = {0};
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL,IDI_WARNING);
wc.hCursor = LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_GRAYTEXT);
wc.lpszMenuName = NULL;
wc.lpszClassName = "Main";
RegisterClass(&wc);
hWnd = CreateWindow("Main","Wnd1",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd,SW_SHOW);
UpdateWindow(hWnd);
while(GetMessage(&nMsg,NULL,0,0))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
return 0;
}
LRESULT WndProc(HWND hWnd,UINT nMsg,WPARAM wParam,
LPARAM lParam)
{
switch(nMsg)
{
case WM_DESTROY:
{
PostQuitMessage(0);
}
break;
}
return DefWindowProc(hWnd,nMsg,wParam,lParam);
}
窗口程序的运行效果:
