3.窗口类

1.窗口类

  窗口类包含了窗口的各种参数信息的数据结构。每个窗口都具有窗口类,基于窗口类创建窗口。每个窗口类都具有一个名称,使用之前必须注册到系统。

2.窗口类的分类

  1)系统窗口类

    系统已经定义好的窗口类,所有应用程序都可以直接使用。

  2)应用程序全局窗口类

    由用户自己定义,当前应用程序所有模块都可以使用。

  3)应用程序局部窗口类

    由用户自己定义,当前应用程序中本模块可以使用。

3. 系统窗口类

  注册窗口类的步骤必须要做,但是系统窗口类不需要(程序员)注册,直接使用窗口类即可。系统已经定义好的相应名称,例如:

    按钮  -  BUTTON

    编辑框 - EDIT

相关代码:

#include "stdafx.h"

HINSTANCE g_hInstance = 0;

void SysReg()
{
    HWND hWnd = CreateWindow((LPCSTR)"BUTTON",
                             (LPCSTR)"OK",
                             WS_OVERLAPPEDWINDOW,
                             100, 100, 500, 500,
                             NULL, NULL, NULL, NULL);

    ShowWindow(hWnd,SW_SHOW);
    UpdateWindow(hWnd);

    MSG uMsg = { 0 };
    while (GetMessage(&uMsg, NULL, 0, 0))
    {
        TranslateMessage(&uMsg);
        DispatchMessage(&uMsg);
    }
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       cCmdShow)
{
    g_hInstance = hInstance;
    SysReg();
    return 0;
}
View Code

运行结果:

  

4.应用程序全局窗口类

  应用程序全局穿够累的注册,需要在窗口类的风格中增加CS_GLOBALCLASS,例如:

    WNDCLASSEX wce = {0};

    wce.style = ... | CS_GLOBALCLASS;

5.应用程序局部窗口类,在注册窗口类时,不添加CS_GLOBALCLASS风格。

  

 

posted @ 2016-06-10 11:27  甩锅侠  阅读(231)  评论(0编辑  收藏  举报