首页 技术 正文
技术 2022年11月15日
0 收藏 772 点赞 3,111 浏览 1704 个字

一、对话框

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消息会在对话框资源模板上的全部子控件(button等)创建完毕后再发送给对话框窗体处理函数

wParam  – 当前接受输入焦点子控件窗体句柄

lParam – 创建时附带的參数

7 对话框和普通窗体的对照

7.1 创建方式不同

普通窗体 CreateWindow/Ex

对话框: DialogBox/CreateDialog

7.2 消息

普通窗体:会收到WM_CREATE

对话框:
WM_INITDIALOG

7.3 关闭方式

普通窗体 : DestroyWindow等

对话框: EndDialog

二 子控件

1 由 Windows系统定义的窗体类型能够提供

对应的功能。包含button。文本编辑框, 静态框

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 静态框相关消息

调用SendMessage函数向空间发送消息

如: STM_SETICON消息改动控件显示图标

SendMessage( hStatic, STM_SETICON, (WPARAM)hIcon, 0 );

其它:

GetDlgItem 从窗体中获取指定ID的子控件的窗体句柄

四 button

1 button的分类

依据创建button时使用的风格:

1.1 下压式button PUSH_BUTTON

正常下压式button BS_PUSHBUTTON

三态下压式button BS_3STATE

1.2 分组式button

BS_GROUPBOX

1.3 CheckBoxbutton 多选button

BS_CHECKBOX

1.4 单选button Radio Box

BS_RADIOBUTTON

2.下压式button的使用:

2.1 创建button

创建时使用BUTTON

2.2 响应button的点击命令消息

WM_COMMAND

2.3  通知消息消息处理

SendMessage

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,494
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,907
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,740
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,495
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,133
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,297