你的位置:首页 > 软件开发 > 操作系统 > Windows程序设计(Charles Petzold)HELLOWIN程序实现

Windows程序设计(Charles Petzold)HELLOWIN程序实现

发布时间:2016-04-07 23:00:19
1 /*-------------------------------------------------------------- 2 HELLOWIN.C--DisPlays "Hello, Windows!" in client area 3 ...
Windows程序设计(Charles Petzold)HELLOWIN程序实现Windows程序设计(Charles Petzold)HELLOWIN程序实现
 1 /*-------------------------------------------------------------- 2   HELLOWIN.C--DisPlays "Hello, Windows!" in client area 3         (c) Charles Petzold, 1998 4 --------------------------------------------------------------*/ 5 #include <windows.h> 6 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 7  8 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreVInstance, 9          PSTR szCmdLine, int iCmdShow)10 {11   static TCHAR szAppName[] = TEXT("HelloWin");12   HWND     hwnd;13   MSG      msg;14   WNDCLASS   wndclass;15   16   wndclass.style      = CS_HREDRAW | CS_VREDRAW;17   wndclass.lpfnWndProc  = WndProc;18   wndclass.cbClsExtra    = 0;19   wndclass.cbWndExtra    = 0;20   wndclass.hInstance    = hInstance;21   wndclass.hIcon      = LoadIcon(NULL, IDI_APPLICATION);22   wndclass.hCursor    = LoadCursor(NULL, IDC_ARROW);23   wndclass.hbrBackground  = (HBRUSH) GetStockObject(WHITE_BRUSH);24   wndclass.lpszMenuName  = NULL;25   wndclass.lpszClassName  = szAppName;26   27   if (!RegisterClass(&wndclass))28   {29     MessageBox(NULL, TEXT("This progam requires Windows NT!"),30           szAppName, MB_ICONERROR);31     return 0;32   }33   34   hwnd = CreateWindow(szAppName,          //window class name35             TEXT("The Hello Program"),  //window caption36             WS_OVERLAPPEDWINDOW,    //window style37             CW_USEDEFAULT,        //initial x position38             CW_USEDEFAULT,        //initial y position39             CW_USEDEFAULT,        //initial x size40             CW_USEDEFAULT,        //initial y size41             NULL,            //parent window handle42             NULL,            //window menu handle43             hInstance,          //program instance44             NULL            //creation parameters45             );46   ShowWindow(hwnd, iCmdShow);47   UpdateWindow(hwnd);48   49   while (GetMessage(&msg, NULL, 0, 0))50   {51     TranslateMessage(&msg);52     DispatchMessage(&msg);53   }54   return msg.wParam;55 }56 57 LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)58 {59   HDC      hdc;60   PAINTSTRUCT  ps;61   RECT    rect;62   63   switch (message)64   {65     case WM_CREATE:66       //PlaySound(TEXT("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC);67       return 0;68       69     case WM_PAINT:70       hdc = BeginPaint(hwnd, &ps);71       GetClientRect(hwnd, &rect);72       DrawText(hdc, TEXT("Hello, windows!"), -1, &rect,73           DT_SINGLELINE | DT_CENTER| DT_VCENTER);74       EndPaint(hwnd, &ps);75       return 0;76       77     case WM_DESTROY:78       PostQuitMessage(0);79       return 0;80   }81   return DefWindowProc(hwnd, message, wParam, lParam);

原标题:Windows程序设计(Charles Petzold)HELLOWIN程序实现

关键词:Windows

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录