摘自:罗云彬汇编
第4章 第一个窗口程序
4.2 分析窗口程序(1)
WNDCLASSEX的结构定义为:
WNDCLASSEX STRUCT
CbSize DWORD ? ;结构的字节数
Style DWORD ? ;类风格
LpfnWndProc DWORD ? ;窗口过程的地址
CbClsExtra DWORD ?
CbWndExtra DWORD ?
HInstance DWORD ? ;所属的实例句柄
HIcon DWORD ? ;窗口图标
HCursor DWORD ? ;窗口光标
HbrBackground DWORD ? ;背景色
LpszMenuName DWORD ? ;窗口菜单
LpszClassName DWORD ? ;类名字符串的地址
HIconSm DWORD ? ;小图标
WNDCLASSEX ENDS
在FirstWindow程序中,注册窗口类的代码是:
local @stWndClass:WNDCLASSEX ;定义一个WNDCLASSEX结构
…
invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
invoke LoadCursor,0,IDC_ARROW
mov @stWndClass.hCursor,eax
push hInstance
pop @stWndClass.hInstance
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszClassName,offset szClassName
invoke RegisterClassEx,addr @stWndClass
分享到:
相关推荐
4. **创建D3D窗口**: 在D3D中创建一个窗口,包括定义WNDCLASSEX结构,注册窗口类,以及创建HWND窗口句柄。 5. **初始化D3D**: 创建D3D对象,确定主显示器标识(adapterId),然后使用该标识设置CUDA使用的GPU。这...
- **WNDCLASSEX 结构**:用于定义窗口类的各种属性,包括窗口过程、光标、图标等。 - `cbSize`:指定结构体的大小。 - `lpfnWndProc`:指向窗口过程的指针,用于处理窗口消息。 - `hCursor`:窗口的光标句柄。 -...
**WNDCLASSEX 结构** `WNDCLASSEX` 是一个重要的结构体,用于定义一个新的窗口类。该结构体包含的信息有窗口类的样式、窗口过程指针、额外类和窗口实例等数据。 - **cbSize**:此成员必须设置为结构体的大小,即 `...
4. **WNDCLASSEX结构**:用于注册窗口类,包含了窗口类的属性,如背景刷、图标、窗口过程等。在这个例子中,窗口类名为`myWindow`,窗口处理过程回调函数设为`WinProc`。 5. **CreateWindowEx函数**:创建窗口实例...
7. **WNDCLASSEX结构**: - 用于定义窗口类,包括窗口的风格、窗口过程、图标、光标、背景刷、菜单名称和类名等。例如,`CS_HREDRAW` 和 `CS_VREDRAW` 风格确保窗口在大小调整时会自动重绘。 8. **窗口类注册**: ...
FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构 FindClose 关闭由FindFirstFile函数创建的一个搜索句柄 FindFirstFile 根据文件名查找文件 FindNextFile 根据调用FindFirstFile函数时...
WNDCLASSEX结构的风格字段(style)可以设置WS_OVERLAPPEDWINDOW,这将包括一个标题栏和边框。接下来,使用CreateWindowEx函数创建窗口,指定WS_EX_CLIENTEDGE等额外风格,以实现标准标题栏的外观和行为。 标题栏中...
### WTL体系结构及深入剖析 #### 一、WTL简介 WTL,全称Windows Template Library,是一种轻量级的Windows编程库,主要用于简化基于Win32 API的应用程序开发。WTL最初作为ATL(Active Template Library)的一个示例...
1. **初始化窗口类结构**:设置`WNDCLASSEX`结构的成员,如类名、图标、光标、背景处理函数等。 2. **注册窗口类**:调用`RegisterClassEx`,将窗口类信息注册到系统中。 3. **创建窗口**:使用`CreateWindowEx`函数...
`WNDCLASSEX`结构定义了窗口类的各种属性,如窗口风格、消息处理函数等。`RegisterClassEx` API函数用于实际注册。 4. **窗口创建**:`_CreateWindow`函数使用`CreateWindow` API函数创建窗口,传入窗口类名、窗口...
WNDCLASSEX 是 Windows 编程中的一种数据结构,用于描述窗口类的信息。它的原型为: ```c typedef struct _WNDCLASSEX { UNIT cbSize; // 定义结构体的大小 UNIT style; // 定义类的类型标志 WNDPROC ...
// 指定紧跟在窗口类结构后的附加字节数 wc.cbWndExtra = 0; // 指定紧跟在窗口事例后的附加字节数 wc.hInstance = hInstance; // 本模块的实例句柄 wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); // 图标的句柄...
窗口类的定义是通过`WNDCLASSEX`结构完成的。在这个结构中,我们需要设置窗口类的风格、窗口过程函数指针、实例句柄、图标、光标、背景画刷以及类名。在示例代码中,`wndclass.lpfnWndProc`被设置为`MainWndProc`,...
2. **结构体定义**:定义了用于API调用时传递参数的数据结构,如`WNDCLASSEX`、`POINTAPI`、`MSG`、`RECT`、`PAINTSTRUCT`等。 3. **常量定义**:定义了一系列常量,包括窗口样式(例如`WS_VISIBLE`)、消息类型...
在Win32 API中,使用`RegisterClassEx`函数注册一个包含`WNDCLASSEX`结构的窗口类。在该结构中,设置`lpfnWndProc`为你的自定义消息处理函数,这将接收和处理Delphi控件的消息。 2. 初始化Delphi控件: Delphi的...
`WNDCLASSEX` 结构用于定义窗口类,包括窗口回调函数 `MsgProc`,窗口类名 "D3D Tutorial",以及窗口样式 `WS_OVERLAPPEDWINDOW`,使得窗口具有标准的窗口控件,如最大化、最小化和关闭按钮。 2. **初始化 Direct3D...
3. **THREADINFO 结构**:当一个线程与图形用户界面关联时,Windows会为该线程分配一个 THREADINFO 结构,用于管理线程的消息队列和其他相关信息。 综上所述,Windows消息机制是Windows操作系统中不可或缺的一部分...
- 使用`WNDCLASSEX`结构定义窗口类,其中可以指定窗口的样式、背景画刷、图标等属性,以改变窗口的外观。 - 要在窗口上绘制图形,可以利用GDI(Graphics Device Interface)或GDI+,它们提供了丰富的函数,如`...
`WNDCLASSEX`结构体用于定义窗口类的属性,包括窗口过程函数、图标、光标、背景颜色等。 ```cpp WNDCLASSEX wndclass; wndclass.cbSize = sizeof(wndclass); wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass....