Win32 Windows编程 十二

一、对话框

1、对话框的分类

2、对话框的基本使用方式

3、对话框资源

4、有模式对话框的使用

5、 无模式对话框的使用

5.1 添加对话框资源

5.2 定义窗口处理函数

BOOL CALLBACK DialogProc(

HWND hWnd,

UINT UMsg,

WPARAM wParam,

LPARAM lParam

)

5.3 创建对话框

HWND CreateDialog(
  HINSTANCE hInstance,  // handle to module
  LPCTSTR lpTemplate,   // dialog box template name
  HWND hWndParent,      // handle to owner window
  DLGPROC lpDialogFunc  // dialog box procedure
);
返回值是创建好的对话框窗口句柄

5.4 显示对话框

ShowWindow

5.5 关闭对话框

EndDialog

5.6 与有模式对话框相比

创建函数:有模式创建对话框 DialogBox

无模式对话框; CreateDialog

程序执行方式:有模式对话框阻塞,禁止其他窗口输入。

无模式对话框会立刻返回让主程序继续执行

6 对话框消息

WM_INITDIALOG消息,用途类似于WM_CREATE消息,可以再对话框创建完成后 进行数据初始化

他与WM_CREATE不同的是,WM_INITDIALOG消息会在对话框资源模板上的所有子控件(按钮等)创建完成后再发送给对话框窗口处理函数

wParam  - 当前接受输入焦点子控件窗口句柄

lParam - 创建时附带的参数

7 对话框和普通窗口的对比

7.1 创建方式不同

普通窗口 CreateWindow/Ex

对话框: DialogBox/CreateDialog

7.2 消息

普通窗口:会收到WM_CREATE

对话框: WM_INITDIALOG

7.3 关闭方式

普通窗口 : DestroyWindow等

对话框: EndDialog

二 子控件

1 由 Windows系统定义的窗口类型可以提供

相应的功能,包括按钮,文本编辑框, 静态框

2 空间的创建

都可以使用CreateWindow/CreateWindowEx创建, 并获取到空间HWND。创建时每个子控件都要有相应的ID号,

ID号尽量要求不重复。

1.3 控件的消息

子控件和父窗口(一般窗口或者对话框)的交换都是通过消息完成的。如果子窗口状态发生变化,子窗口会向父窗口发送

相应的消息,

一般父窗口会使用SendMessage向子窗口发送消息,同时父窗口响应子窗口发送的消息一般在WM_COMMAND中进行处理

三 静态框

1 静态框的创建

窗口类的名称 - STATIC, 用于窗口上显示文字等,如果使用SS_ICON、SS_BITMAP风格可以显示ICON和BITMAP

文本静态框 - 创建时使用SS_SIMPLE即可

ICON静态框 - 创建时使用SS_ICON, 并且将静态框的窗口名称设置成对应的ICON的资源ID号,例如 “#101”


2 静态框的命令响应

2.1 惊天狂要添加SS_NOTIFY风格

2.2  WM_COMMAND 进行处理

WPARAM - HIWORD 命令ID

  LOWORD 静态框的窗口ID

LPARAM - 静态框创库句柄

3 静态框相关消息











Win32 Windows编程 十二,布布扣,bubuko.com

Win32 Windows编程 十二

上一篇:windows server 2008 大量拷贝后释放内存


下一篇:chrome插件 postman插件 接口测试、API & HTTP 请求调试工具