1 /*-------------------------------------------------------------- 2 HELLOWIN.C--DisPlays "Hello, Windows!" in client area 3 ...
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
(#换成@)。