2024年4月29日发(作者:)

e

ion

yle

r

ndowProc

or

ata

ng

窗口风格

窗口的标题

窗口的附加风格

附加在窗口上的菜单句柄

在窗口中所使用的鼠标光标句柄

程序的图标

该窗口的消息处理函数指针

窗口左上角相对屏幕的绝对横坐标,以象素点表示

窗口左上角相对屏幕的绝对纵坐标,以象素点表示

窗口右下角相对屏幕的绝对横坐标,以象素点表示

窗口右下角相对屏幕的绝对纵坐标,以象素点表示

窗口背景颜色

附带给窗口的一个 32 位值

窗口消息队列的托管窗口

风格标识

WS_NONE

WS_VISIBLE

WS_DISABLED

WS_CAPTION

WS_SYSMENU

WS_BORDER

WS_THICKFRAME

WS_THINFRAME

WS_VSCROLL

WS_HSCROLL

WS_MINIMIZEBOX

WS_MAXIMIZEBOX

WS_EX_NONE

WS_EX_USEPRIVATECDC

WS_EX_TOPMOST

WS_EX_TOOLWINDOW

WS_EX_USEPARENTFONT

WS_EX_USEPARENTCURSOR

WS_EX_NOCLOSEBOX

WS_EX_CTRLASMAINWIN

含义

未指定任何风格

创建初始可见的窗口

创建初始被禁止的窗口

创建含标题栏的主窗口

创建含系统菜单的主窗口

创建有边框的窗口

创建具有厚边框的窗口

创建具有薄边框的窗口

创建带垂直滚动条的窗口

创建带水平滚动条的窗口

标题栏上带最小化按钮

标题栏上带最大化按钮

无扩展风格

使用私有 DC

建立始终处于顶层的主窗口

建立Tooltip 主窗口

使用父窗口字体作为默认字体

使用父窗口光标作为默认光标

主窗口标题栏上不带关闭按钮

建立可显示在主窗口之外的控件

仅用于主窗口

仅用于主窗口

仅用于主窗口

仅用于主窗口

仅用于主窗口

仅用于主窗口

备注

仅用于主窗口。Tooltip 主窗口将不会

拥有输入焦点,但仍接收鼠标消息

仅用于控件

MiniGUI中控件类的定义如下:

typedef struct _WNDCLASS

{

/** the class name */

char* spClassName;

/** internal field, operation type */

DWORD opMask;

/** window style for all instances of this window class */

DWORD dwStyle;

/** extended window style for all instances of this window class */

DWORD dwExStyle;

/** cursor handle to all instances of this window class */

HCURSOR hCursor;

/** background color pixel value of all instances of this window class */

int iBkColor;

/** window callback procedure of all instances of this window class */

int (*WinProc) (HWND, int, WPARAM, LPARAM);

/** the private additional data associated with this window class */

DWORD dwAddData;

} WNDCLASS;

typedef WNDCLASS* PWNDCLASS;

控件类的主要元素如下:

类名spClassName:区别于其它控件类的类名称

窗口过程函数指针WinProc:该类控件的实例均使用该窗口过程函数,它处理所有

发送到控件的消息并定义控件的行为和特征

类风格dwStyle:定义窗口的外观和行为等的风格,该类的所有实例将具有该普通

风格。

扩展的类风格dwExStyle:定义窗口的扩展风格,该类的所有实例将具有该扩展风

格。

类光标hCursor:定义该类窗口中光标的形状

背景色iBkColor:定义该类窗口的背景颜色象素值

类的私有附加数据dwAddData:系统为该类保留的附加空间

MiniGUI中控件类操作的相关函数如下:

BOOL GUIAPI RegisterWindowClass (PWNDCLASS pWndClass) ;

该函数注册一个控件类。

BOOL GUIAPI UnregisterWindowClass (const char *szClassName) ;

该函数注销一个控件类。

const char* GUIAPI GetClassName (HWND hWnd) ;

该函数获取指定控件的类名。.

BOOL GUIAPI GetWindowClassInfo (PWNDCLASS pWndClass) ;

该函数获取指定控件类的类信息。

BOOL GUIAPI SetWindowClassInfo (const WNDCLASS *pWndClass) ;

该函数设置指定控件类的类信息。