最传统界面设计mfc

上传人:好** 文档编号:114773076 上传时间:2019-11-12 格式:PPT 页数:60 大小:1.77MB
返回 下载 相关 举报
最传统界面设计mfc_第1页
第1页 / 共60页
最传统界面设计mfc_第2页
第2页 / 共60页
最传统界面设计mfc_第3页
第3页 / 共60页
最传统界面设计mfc_第4页
第4页 / 共60页
最传统界面设计mfc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《最传统界面设计mfc》由会员分享,可在线阅读,更多相关《最传统界面设计mfc(60页珍藏版)》请在金锄头文库上搜索。

1、第3章 MFC用户界面设计,课程描述 Windows素来以用户界面友好而著称,使用MFC提供的丰富资源,程序员可以方便地设计开发出拥有友好用户界面的应用程序。,本章知识点,3.1 对话框编程 3.2 常用控件 3.3 在对话框中使用菜单,3.1 对话框编程,3.1.1 创建基于对话框的项目 3.1.2 设计对话框界面 3.1.3 添加对话框 3.1.4 为对话框绑定类,3.1.1 创建基于对话框的项目,建MFC应用程序向导,选择应用程序类型窗口,选择用户界面功能窗口,设置高级功能窗口,“生成的类”窗口,3.1.2 设计对话框界面,从工具箱中向窗体上添加控件,3.1.3 添加对话框,3.1.4

2、为对话框绑定类,右键单击对话框设计界面的空白处,在快捷菜单中选择“添加类”,打开“MFC类向导”对话框,如图3.10所示。,1添加消息处理程序,切换到对话框设计界面,在属性窗口中单击消息图标 ,可以查看到对话框中的消息,如图3.12所示。单击消息右侧的下拉框可以在对话框中添加消息对应的处理程序。,2重写CDialog类的函数,对话框类是CDialog的派生类,它可以重写CDialog类的成员函数,实现特定的功能。在Visual Studio的系统菜单中依次选择“视图”/“类视图”,可以打开类视图,如图3.13所示。 在类视图中选中对话框类,在属性窗口中单击“重写”图标 ,可以查看和设置需要重写

3、的函数,如图3.14所示。,3打开对话框,在程序中可以使用CDialog:DoModal()函数打开一个模式对话框,并返回用户操作的结果。假定对话框对应的类为CMyDialog,则使用下面的代码如下打开该对话框。 CMyDialog dlg; dlg.DoModal(); 当无法创建对话框或者用户关闭对话框时,DoModal()函数会返回一个int类型的值,具体说明如下: -1,表示无法创建该对话框。 IDABORT,表示用户单击对话框中的“终止”按钮,关闭对话框。 IDOK,表示用户单击对话框中的“确定”按钮,关闭对话框。 IDCANCEL,表示用户单击对话框中的“取消”按钮,关闭对话框。,

4、3.2 常用控件,3.2.1 静态文本框控件 3.2.2 文本编辑框控件 3.2.3 按钮控件 3.2.4 单选按钮控件 3.2.5 复选框控件 3.2.6 列表框控件 3.2.7 组合框控件 3.2.8 IP地址框控件 3.2.9 列表控件 3.2.10 CImageList类 3.2.11 常用控件应用示例,3.2.1 静态文本框控件,静态文本框控件的重要属性,3.2.2 文本编辑框控件,文本编辑框控件的重要属性,为文本编辑框控件添加变量,将文本编辑框对应变量的类别设置为Value,CEdit类的常用函数,GetDlgItem()函数,如果不希望将控件绑定到变量,也可以使用GetDlgIt

5、em()函数获取指定控件的句柄,然后再设置控件的属性。GetDlgItem()的函数原型如下: CWnd* GetDlgItem( int nID ) const; 参数nID表示控件的ID,返回结果为CWnd*类型的控件句柄。使用CWnd类的一些成员函,3.2.3 按钮控件,按钮控件的重要属性,添加按钮控件的事件处理代码,【例3.1】,在对话框中添加一个按钮,参照上面介绍的方法为该按钮添加单击事件的处理程序,代码如下: void CMfcAppDlg:OnBnClickedButton1() AfxMessageBox(“ClickMe“); 要使上面程序通过编译,需要修改项目默认的字符集。

6、在Visual Studio的系统菜单中选择“项目”/“属性”,打开项目属性对话框。在左侧的列表中选择“配置属性”/“常规”,在右侧将字符集修改为“未设置”,如图3.23所示。配置完成后,单击“确定”按钮。,3.2.4 单选按钮控件,单选按钮控件的重要属性,为单选按钮添加变量,只有将Group属性设置为True的单选按钮控件才能添加成员变量,否则单选按钮控件的ID将不会出现在控件ID组合框。,3.2.5 复选框控件,3.2.6 列表框控件,列表框控件的重要属性,为列表框添加变量,CListBox类的常用函数,3.2.7 组合框控件,组合框框控件的重要属性,为组合框添加变量,CComboBox类

7、的常用函数,3.2.8 IP地址框控件,CIPAddressCtrl类的常用函数,3.2.9 列表控件,列表控件的重要属性,为列表控件添加变量,CListCtrl类的常用函数,3.2.10 CImageList类,3.2.11 常用控件应用示例,【例3.2】设计一个MFC对话框,用于输入计算机的基本信息,其中包含上面介绍的一些常用控件,如图3.35所示。,例3.2的对话框中使用的控件及其对应的变量,1初始化对话框,在启动对话框时,执行OnInitDialog()函数,用于设置各控件的初始值,代码如下: BOOL CMfcNormalControlDlg:OnInitDialog() CDial

8、og:OnInitDialog(); / 选择设备类型为“计算机” m_DevType.SetCheck(1); / 添加可供选择的部门 m_Dept.InsertString(0, “人事部“); m_Dept.InsertString(1, “财务部“); m_Dept.InsertString(2, “销售部“); / 默认选择人事部 m_Dept.SetCurSel(0); return TRUE; / 除非将焦点设置到控件,否则返回TRUE ,2添加设备,当用户单击“添加”按钮时,执行OnBnClickedButtonAdd()函数,代码如下: void CMfcNormalCont

9、rolDlg:OnBnClickedButtonAdd() / 检查数据有效性 UpdateData(TRUE); if(m_DevName = “) AfxMessageBox(“请输入部门名称。“); return; / IP地址 CString DevIP; m_DevIP.GetWindowTextA(DevIP); / 获取CIPAddressCtrl控件的值 if(DevIP = “0.0.0.0“) AfxMessageBox(“请输入IP地址。“); return; ,2添加设备,/ 是否登记 CString IsRegister = “否“; if(m_Register) I

10、sRegister = “是“; / 部门 CString DeptName; m_Dept.GetWindowTextA(DeptName); / 获取组合框控件的值 / 设备类型 int iType = m_DevType.GetCheck(); / 获取单选按钮控件的值 CString DevType; switch(iType) case 1: DevType = “计算机“; break; case 2: DevType = “服务器“; break; case 3: DevType = “网络设备“; break; case 4: DevType = “其他“; break; ch

11、ar s1000; sprintf(s, “部门名称: %s; IP地址: %s; 所属部门: %s; 是否登记: %s; 设备类型: %s“, m_DevName.GetBuffer(), DevIP.GetBuffer(), DeptName.GetBuffer(), IsRegister.GetBuffer(), DevType.GetBuffer(); / 添加到列表框中 m_DevList.InsertString(0, s); UpdateData(FALSE); ,3.3 在对话框中使用菜单,3.3.1 创建和设计菜单 3.3.2 在对话框中添加菜单 3.3.3 菜单项的消息处理

12、函数,3.3.1 创建和设计菜单,打开资源管理器,右键单击“.rc”(例如,如果项目名为MfcApp,则右键单击MfcApp.rc项),在弹出菜单中选择“添加资源”,打开“添加资源”对话框,如图3.36所示。,菜单编辑器,在此处可以添加新菜单项,菜单项的属性,3.3.2 在对话框中添加菜单,打开对话框设计界面,在属性窗口的Menu选项中可以选择对话框中使用的菜单,如图3.38所示。运行项目,打开对话框,如图3.39所示。,3.3.3 菜单项的消息处理函数,菜单项包含下面两个重要的消息: COMMAND,当用户单击菜单时触发该消息,添加该菜单项的COMMAND消息处理函数就可以处理单击操作。 UPDATE_COMMAND_UI,用于更新菜单项的状态,比如允许或禁止使用该菜单项、修改菜单项标题、设置菜单项选择后的状态等。程序会自动调用菜单项UPDATE_COMMAND_UI的消息处理函数,实时更新菜单项的状态。,“事件处理程序向导”窗口,在菜单编辑器中右键单击一个菜单项,在弹出菜单中选择“添加事件处理程序”,打开“事件处理程序向导”窗口,如图3.40所示。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号