您的位置:首页 > 其它

windows 经典程序,回想起当初写这个程序时,心里多么的复杂呀

2013-08-18 09:42 435 查看
windows 经典程序,回想起当初写这个程序时,心里多么的复杂呀
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,
PSTR szCmdLine,int iCmdShow)
{
static TCHAR szAppName[]=TEXT("HelloWin32");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;

wndclass.style         =CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc   =(WNDPROC)WndProc;    //windows procedure
wndclass.cbClsExtra    =0;
wndclass.cbWndExtra    =0;
wndclass.hInstance     =hInstance;
wndclass.hIcon         =LoadIcon(NULL,IDI_APPLICATION);//load an icon for use by program
wndclass.hCursor       =LoadCursor(NULL,IDC_ARROW);    //load cursor for use by program
wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH); //Obtains a graphic object ,in this case
//   a brush used for painting the window's background
wndclass.lpszMenuName  =NULL;
wndclass.lpszClassName =szAppName;

if(!RegisterClass(&wndclass))  //Register a window class for the program's window
{
MessageBox(NULL,TEXT("This program requires Windows NT!"),
szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(szAppName,                   //window class name
TEXT("the hello program"),   //window caption
WS_OVERLAPPEDWINDOW,         //   window style
CW_USEDEFAULT,               //initial x position
CW_USEDEFAULT,               //initial y POSITION
CW_USEDEFAULT,               // inital x size
CW_USEDEFAULT,               //initial y size
NULL,                        // parent  window handle
NULL,                        //  window menu handle
hInstance,                   // window    instance handle
NULL                         // creationg parameters
);
ShowWindow(hwnd,iCmdShow);  //Shows the window on the screen.
UpdateWindow(hwnd);          //Directs the window to paint itself.
while (GetMessage(&msg,NULL,0,0))    //Obtains a message from the message queue.
{
TranslateMessage(&msg);   //Translates some keyboard messages
DispatchMessage(&msg);    //Sends a message to a window procedure
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch (message)
{
case WM_CREATE:

return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);   //Initiates the beginning of window painting.
GetClientRect(hwnd,&rect);  //Obtains the dimensions of the window's client area
DrawText(hdc,TEXT("hello win"),-1,&rect,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hwnd,&ps);    //Ends window painting.
return 0;
case WM_DESTROY:
PostQuitMessage(0);     //Inserts q "quit" message into the message queue
return 0;
default:
break;
}
return DefWindowProc(hwnd,message,wParam,lParam); //Performs default default processing of message
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐