`

WNDCLASS结构介绍

    博客分类:
  • VC
阅读更多

WNDCLASS结构包含了RegisterClass函数注册窗口类时的窗口类属性。
这个结构在使用RegisterClassEx函数注册窗口类时被WNDCLASSEX结构所取代。如果不需为窗口类设置小图标时,仍然可以使用WNDCLASS和RegisterClass。
语法:
typedef struct {
    UINT style;
    WNDPROC lpfnWndProc;
    int cbClsExtra;
    int cbWndExtra;
    HINSTANCE hInstance;
    HICON hIcon;
    HCURSOR hCursor;
    HBRUSH hbrBackground;
    LPCTSTR lpszMenuName;
    LPCTSTR lpszClassName;
} WNDCLASS, *pWNDCLASS;
成员:
style
    描述类风格。该成员可以是“Class Styles”的任意组合。
lpfnWndProc
    指向窗口过程的指针。必须使用CallWindowProc函数调用窗口过程。
cbClsExtra
    表示窗口类结构之后分配的额外的字节数。系统将该值初始化为0.
cbWndExtra
    表示窗口实例之后分配的额外的字节数。系统将该值初始化为0.如果使用资源文件里的CLASS指令创建对话框,并用WNDCLASS注册该对话框时,cbWndExtra必须设置成DLGWNDOWEXTRA。
hInstance
    包含该类实例的句柄,该实例包含了窗口过程。
hIcon
    类图标的句柄。该成员必须为一个图标资源的句柄。如果hIcon为NULL,系统将提供默认图标。
hCursor
    鼠标指针的句柄。改成员必须为一个指针资源的句柄。如果hCursor为NULL,应用程序必须在指针移入应用程序窗口时显式设置指针类型。
hbrBackground
    背景画刷的句柄。该成员或者是用于绘制背景的物理画刷的句柄,或者是一个颜色值。颜色值必须为如下标准系统颜色值(值1必须加到选定颜色中)。如果颜色值给定后,必须将该值转换成如下HBRUSH类型。
    COLOR_ACTIVEBORDER
    COLOR_ACTIVECAPTION
    COLOR_APPWORKSPACE
    COLOR_BACKGROUND
    COLOR_BTNFACE
    COLOR_BTNSHADOW
    COLOR_BTNTEXT
    COLOR_CAPTIONTEXT
    COLOR_GRAYTEXT
    COLOR_HIGHLIGHT
    COLOR_HIGHLIGHTTEXT
    COLOR_INACTIVEBORDER
    COLOR_INACTIVECAPTION
    COLOR_MENU
    COLOR_MENUTEXT
    COLOR_SCROLLBAR
    COLOR_WINDOW
    COLOR_WINDOWFRAME
    COLOR_WINDOWTEXT
    当调用UnregisterClass时,系统自动删除背景画刷。应用程序不应删除这些画刷。
    当hbrBackground为NULL时,应用程序必须在绘制客户区域时绘制它自己的背景。为了确定背景是否一定要绘制,应用程序或者可以处理 WM_ERASEBKGND消息,或者测试PAINTSTRUCT的fErase成员。PAINTSTRUCT是由BeginPaint函数填充的。
lpszMenuName
    指向NULL结束的字符串,该字符串描述菜单的资源名,如同在资源文件里显示的名字一样。若使用一个整数标识菜单,可以使用MAKEINTRESOURCE宏。如果lpszMenuName为NULL,那么该窗口类的窗口将没有默认菜单。
lpszClassName
    指 向NULL结束的字符串,或者是一个原型(atom)。若该参数是一个原型,它必须是一个有先前调用RegisterClass或者 RegisterClassEx函数产生的类原型。类原型必须作为lpszClassName的低字,高字必须为0.若lpszClassName是一个 字符串,它描述了窗口类名。这个类名可以是由RegisterClass或者RegisterClassEx注册的名字,或者是任何预定义的控件类名。
结构信息
    Header 在winuser.h声明,包含windows.h

分享到:
评论

相关推荐

    WNDCLASS中的style 定义

    WNDCLASS中的style 定义

    深入解析C++的WNDCLASS结构体及其在Windows中的应用

    WNDCLASS是一个由系统支持的结构,用来储存某一类窗口的信息,如ClassStyle,消息处理函数,Icon,Cursor,背景Brush等。也就是说,CreateWindow只是将某个WNDCLASS定义的窗体变成实例。要得到某一窗口的WNDCLASS数据,...

    c#读取外部程序 SysListView32、ListView20WndClass

    C# 读取 获取 外部程序 SysListView32 ListView20WndClass

    显示一条滚动显示的正弦曲线

    WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc= WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass....

    VC++实现MFC程序方程求根的程序以及源代码

    WNDCLASS wndclass; wndclass.style=CS_HREDRAW|CS_VREDRAW; wndclass.lpfnWndProc=WndProc; wndclass.cbClsExtra=0; wndclass.cbWndExtra=0; wndclass.hInstance=hInstance; wndclass.hIcon=...

    贪吃蛇 GAME 源码 vc++6.0编译

    WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; ...

    C#获取其他程序ListView控件中的内容

    C#获取其他程序ListView控件中的内容 http://blog.csdn.net/liehuo123/article/details/22043945

    C++面向对象与可视化教程

    WNDCLASS wndclass; char lpszClassName[] = "基本绘图"; char lpszTitle[]= "My_Drawing"; wndclass.style = 0; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; ...

    实验1实验报告-.doc

    // 消息 WNDCLASS wndclass ; // 窗口类 wndclass.style = CS_HREDRAW " CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; ...

    c语言贪吃蛇源码(带注释)

    WNDCLASS wndclass; //窗口类 HACCEL hAccel;//加速键句柄 wndclass.style = CS_HREDRAW | CS_VREDRAW; //窗口的水平和垂直尺寸被改变时,窗口被重绘 wndclass.lpfnWndProc = WndProc; //窗口过程为WndProc...

    CreateWindow创建窗口

    窗口中的文字如何刷新

    delphi7小技巧

    delphi7小技巧 ...wndClass:Array[0..50] of char; begin StrPCopy(@wndClass[0],'Shell_TrayWnd'); wndHandle:=FindWindow(@wndClass[0],nil); ShowWindow(wndHandle,SW_HIDE); //sw_restore end;

    黑客帝国数码雨

    模拟黑客帝国数码雨c代码#include <windows.h> ... WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ;

    Visual C++第4章 对话框和常用控件(1)

    Visual C++第4章 对话框和常用控件(1)

    *号查看器v0.11

    WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass....

    汇编语言代 码 风 格(Code style).chm

    stWndClass WNDCLASS结构 … 很明显,这些变量名比count1,abc,commandlinebuffer和FILEFLAG之类的命名要易于理解。由于匈牙利表示法既描述了变量的类型,又描述了变量的作用,所以能帮助程序员及早发现变量的...

    C++编程实例详解C++

    C++编程实例详解C++ #include //窗口对象的过程处理函数 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //Windows应用程序的主函数 int WINAPI WinMain(HINSTANCE hInstance, ... //窗口类属性描述结构

    C语言API编写窗体界面和按钮1

    //背景颜色COLOR_BACKGROUNDwndclass.lpszMenuName = NULL ;//菜单名的字符串wndclass.lpszClassN

    C/C++笔试题

    Windows程序的入口是哪里?写出Windows消息机制的流程。 入口点是WINMAIN()函数 Windows应用程序消息处理机制:... 系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。

Global site tag (gtag.js) - Google Analytics