HELLOWIN程式

HELLOWIN程式_6分词条

目录 [隐藏]

HELLOWIN程式 介绍

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

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) ;
}

附图

上传图片 

互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。如需转载,请注明来源于www.hudong.com

被引用: 本词条已被如下媒体引用 我来补充
开放分类: 我来补充
编程

讨论区

更多>>

编辑者

共2人协作

相关词条

库洛牌
札幌
多媒体time函式
小樱牌
ACDSee 5.0
《2000年国际贸易术语解释通则》
对话方块
讯息回圈
super junior
视窗讯息处理程式
更多

Copyright © 2005-2009 hudong.com Ltd. All Rights Reserved. 互动在线 版权所有