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是一个由系统支持的结构,用来储存某一类窗口的信息,如ClassStyle,消息处理函数,Icon,Cursor,背景Brush等。也就是说,CreateWindow只是将某个WNDCLASS定义的窗体变成实例。要得到某一窗口的WNDCLASS数据,...
C# 读取 获取 外部程序 SysListView32 ListView20WndClass
WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc= WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass....
WNDCLASS wndclass; wndclass.style=CS_HREDRAW|CS_VREDRAW; wndclass.lpfnWndProc=WndProc; wndclass.cbClsExtra=0; wndclass.cbWndExtra=0; wndclass.hInstance=hInstance; wndclass.hIcon=...
WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; ...
C#获取其他程序ListView控件中的内容 http://blog.csdn.net/liehuo123/article/details/22043945
WNDCLASS wndclass; char lpszClassName[] = "基本绘图"; char lpszTitle[]= "My_Drawing"; wndclass.style = 0; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; ...
// 消息 WNDCLASS wndclass ; // 窗口类 wndclass.style = CS_HREDRAW " CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; ...
WNDCLASS wndclass; //窗口类 HACCEL hAccel;//加速键句柄 wndclass.style = CS_HREDRAW | CS_VREDRAW; //窗口的水平和垂直尺寸被改变时,窗口被重绘 wndclass.lpfnWndProc = WndProc; //窗口过程为WndProc...
窗口中的文字如何刷新
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)
WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass....
stWndClass WNDCLASS结构 … 很明显,这些变量名比count1,abc,commandlinebuffer和FILEFLAG之类的命名要易于理解。由于匈牙利表示法既描述了变量的类型,又描述了变量的作用,所以能帮助程序员及早发现变量的...
C++编程实例详解C++ #include //窗口对象的过程处理函数 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); //Windows应用程序的主函数 int WINAPI WinMain(HINSTANCE hInstance, ... //窗口类属性描述结构
//背景颜色COLOR_BACKGROUNDwndclass.lpszMenuName = NULL ;//菜单名的字符串wndclass.lpszClassN
Windows程序的入口是哪里?写出Windows消息机制的流程。 入口点是WINMAIN()函数 Windows应用程序消息处理机制:... 系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。