请输入您要查询的百科知识:

 

词条 HELLOWIN程式
释义

§ 介绍

建立一个视窗首先需要注册一个视窗类别,那需要一个视窗讯息处理程式来处理视窗讯息。处理视窗讯息对每个Windows程式都带来了些负担。程式3-1所示的HELLOWIN程式中整个做的事情差不多就是料理这些事情。

§ 说明

程式3-1 HELLOWIN

HELLOWIN.C

/*------------------------------------------------------------------------

HELLOWIN.C -- Displays "Hello, Windows 98!" in client area

(c) Charles Petzold, 1998

-----------------------------------------------------------------------*/

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName【】 = TEXT ("HelloWin") ;

HWND        hwnd ;

MSG        msg ;

WNDCLAS        wndclass ;

wndclass.style                 = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc = WndProc ;

wndclass.cbClsExtra         = 0 ;

wndclass.cbWndExtra         = 0 ;

wndclass.hInstance         = hInstance ;

wndclass.hIcon                 = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor         = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground        = (HBRUSH) GetStockObject (WHITE_BRUSH) ;

wndclass.lpszMenuNam        = NULL ;

wndclass.lpszClassName        = szAppName ;

if (!RegisterClass (&wndclass))

{

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,        // initial x size

CW_USEDEFAULT,        // initial y size

NULL,                        // parent window handle

NULL,             // window menu handle

hInstance,          // program instance handle

NULL) ;           // creation parameters

ShowWindow (hwnd, iCmdShow) ;

UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

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:

PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ;

return 0 ;

case         WM_PAINT:

hdc = BeginPaint (hwnd, &ps) ;

GetClientRect (hwnd, &rect) ;

DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER) ;

EndPaint (hwnd, &ps) ;

return 0 ;

case        WM_DESTROY:

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, message, wParam, lParam) ;

}

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/19 6:26:05