本文主要是介绍windows 经典程序,回想起当初写这个程序时,心里多么的复杂呀,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 procedurewndclass.cbClsExtra =0;wndclass.cbWndExtra =0;wndclass.hInstance =hInstance;wndclass.hIcon =LoadIcon(NULL,IDI_APPLICATION);//load an icon for use by programwndclass.hCursor =LoadCursor(NULL,IDC_ARROW); //load cursor for use by programwndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH); //Obtains a graphic object ,in this case // a brush used for painting the window's backgroundwndclass.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 nameTEXT("the hello program"), //window captionWS_OVERLAPPEDWINDOW, // window styleCW_USEDEFAULT, //initial x positionCW_USEDEFAULT, //initial y POSITIONCW_USEDEFAULT, // inital x sizeCW_USEDEFAULT, //initial y sizeNULL, // parent window handleNULL, // window menu handlehInstance, // window instance handleNULL // 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 messagesDispatchMessage(&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 areaDrawText(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 queuereturn 0;default:break;}return DefWindowProc(hwnd,message,wParam,lParam); //Performs default default processing of message
}
这篇关于windows 经典程序,回想起当初写这个程序时,心里多么的复杂呀的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!