首页 理论教育VC++基于对话框的Win32程序教程

VC++基于对话框的Win32程序教程

【摘要】:前面两节中基于消息框的程序功能过于简单,只有输出没有输入的功能。打开本章第2节建立的First32工程,本节开发基于对话框的Win32程序,演示输入/输出的功能。图2-21 修改对话框的属性5)在对话框中添加5个控件,即3个Edit Box控件和2个Static Text控件,如图2-22所示。9)查看MSDN中关于DialogBox弹出对话框的函数说明,如图2-25所示。②第二个参数uMsg:消息号码,用于解析对话框窗口发生的事件,例如,单击按钮等。

前面两节中基于消息框的程序功能过于简单,只有输出没有输入的功能。

打开本章第2节建立的First32工程,本节开发基于对话框的Win32程序,演示输入/输出的功能。

1)在ResourceView中的树形控件的根节点上单击鼠标右键,在弹出的快捷菜单中,选择“Insert”命令,如图2-18所示。

2)在弹出的插入资源对话框中,选中Dialog再单击“New”按钮添加对话框资源,如图2-19所示。

978-7-111-46378-8-Chapter02-20.jpg

图2-18 在资源视图中插入资源

978-7-111-46378-8-Chapter02-21.jpg

图2-19 插入对话框资源

3)在新插入的对话框资源上单击鼠标右键,在弹出的快捷菜单中,选择“Properties”命令,如图2-20所示。

978-7-111-46378-8-Chapter02-22.jpg

图2-20 对话框属性设置

4)分别设置好字体、ID和Caption后,按<Enter>键确定对属性的修改,如图2-21所示。

978-7-111-46378-8-Chapter02-23.jpg

图2-21 修改对话框的属性

5)在对话框中添加5个控件,即3个Edit Box控件和2个Static Text控件,如图2-22所示。

978-7-111-46378-8-Chapter02-24.jpg

图2-22 添加对话框控件

6)选中1个Edit Box控件,进行属性设置,如图2-23所示。

978-7-111-46378-8-Chapter02-25.jpg

图2-23 编辑框属性设置

将3个Edit Box控件的ID分别修改为IDC_LEFT、IDC_RIGHT和IDC_RESULT,并将2个Static Text的Caption分别设置为“+”“=”。(www.chuimin.cn)

7)把“OK”按钮和“Cancel”按钮的Caption属性分别改为“计算”和“关闭”,如图2-24所示。

978-7-111-46378-8-Chapter02-26.jpg

图2-24 修改按钮的标题

8)在ClassView中双击WinMain函数修改代码,然后编译运行。

978-7-111-46378-8-Chapter02-27.jpg

978-7-111-46378-8-Chapter02-28.jpg

9)查看MSDN中关于DialogBox弹出对话框的函数说明,如图2-25所示。

978-7-111-46378-8-Chapter02-29.jpg

图2-25 MSDN中的DialogBox函数说明

①第一个参数hInstance:相当于应用程序实例,由WinMain函数代入用于加载进程内的资源。

②第二个参数lpTemplate:指定与对话框模板关联的资源ID,代入前要对数字ID强制类型转化。

③第三个参数hWndParent:指定父窗口句柄,一般代入NULL,因为对话框作为主窗口没有父窗口。

④最后一个参数lpDialogFunc:是一个指定格式的回调函数的地址,该函数用于处理各类窗口事件。

10)回调函数的参数列表和返回值必须按指定的格式编写,如图2-26所示。

978-7-111-46378-8-Chapter02-30.jpg

图2-26 窗口消息处理函数

①第一个参数hwndDlg:与该回调函数关联的对话框句柄,用户操作对话框。

②第二个参数uMsg:消息号码,用于解析对话框窗口发生的事件,例如,单击按钮等。

③最后2个参数wParam和lParam:是窗口消息的相关数据,例如,单击按钮的ID等。