河北经贸大学信息技术学院VC++系统开发课件第4章 对话框与控件.pptVIP

  • 3
  • 0
  • 约2.1万字
  • 约 104页
  • 2019-05-10 发布于广东
  • 举报

河北经贸大学信息技术学院VC++系统开发课件第4章 对话框与控件.ppt

第六章 对话框与控件 河北经贸大学 信息技术学院 2008.9 教学目标 本章主要内容 4.1 对话框概述 4.2 静态控件 4.3 编辑框 4.4 按钮类 4.5 列表框控件 4.6 列表视图(CListCtrl)控件 4.7 组合框 (CComboBox)控件 4.8 滚动类控件 4.9 通用对话框和消息对话框 习题四 实验指导四 4.1 对话框概述 对话框 对话框编辑器 对话框编程 控件的创建与使用 访问控件 4.1.1 对话框 可视化的界面,包含:按钮、文本框、复选框等。 对话框是一个窗口,控件也是一个窗口 对话框的两种消息: WM_INITDIALOG:数据成员的初始化 WM_COMMAND:控件的消息 MFC对对话框的支持:对话框从CDialog基类中派生一个类, MFC的CDialog类封装了用于对话框的显示、关闭等常用操作的许多功能函数;MFC程序框架;ClassWizard类向导 公共对话框: P103 表4-1 标准对话框控件 表4-2 用于对话框控件的 CWnd成员函数 表4-3 模式对话框和无模式对话框 对话框的类型 1.模式对话框 弹出后,用户必须作出相应得操作,否则不可以继续。 用途广。 2.无模式对话框 弹出后,一直保留在屏幕上,其他操作可继续,用的时候激活对话框即可。 两者的创建与显示方式不同: CPasswordDlg dlg1; Dlg1.DoModal();——模式 CPasswordDlg *pDlg; pDlg-Create(IDD_DIALOG1,this); pDlg- ShowWindow(true);——无模式 两者的终止函数不一样: Cdialog::EndDialog模式 CWnd::DestroyWindow无模式 所占内存空间不同: 模式对话框: 由系统自动分配内存,当对话框退出时,对话框对象自动删除。 无模式对话框: 则需要用户来指定内存,退出时用户删除对话框对象 4.1.2 对话框编辑器 添加、选取、删除对话框控件; 改变控件的Tab键次序; 利用基准线、标尺及布局工具进行控件的布局; 测试所编辑的对话框的性能。 对话框编程示例--口令对话框 4.1.3 对话框编程 1. 添加对话框资源 在单文档项目Ex4-1中,Insert-〉resourc(ctrl+R)-〉Dialog 2. 编辑对话框属性 3. 向对话框内添加控件 ——添加/选取/控件的布局/测试对话框 4. 使用ClassWizard,为对话框资源创建一个新类 CPasswordDialog 为控件IDC_EDIT1关联成员变量 CString m_Password 5. 在程序(Ex4_1.cpp )中使用模式对话框 #include PasswordDialog.h“ bool CEx4_1App ::InitInstance () { …… CPasswordDialog Dlg; //声明CPasswordDialog类的对象 if ( Dlg.DoModal() != IDOK ) return false; //用户按下的不是确认按钮 if ( Dlg.m_Password != 123456 ) //口令设为字符串123456 { AfxMessageBox(口令错误,确认后将退出程序); return false; } Return true; } 6.编译运行 4.1.4 控件的创建与使用 步骤如下: 将控件添加到对话框模板中 在对话框类中增加与控件相关联的数据成员 根据需要在对话框类中定义处理这些数据的成员变量 在对话框的OnInitDialog函数体中,为控件设置一些初始条件 在对话框的控件消息处理函数中,添加控件处理代码 2. 控件的通用属性 3. 控件的消息WM_COMMAND MSG结构 typedef struct tagMSG{ HWND hwnd; //接收到消息的窗口句柄 UINT message; .//消息 WPARAM wParam; // 消息的附加信息,其含义取决于message LPARAM lParam; //消息的附加信息,其含义取决于message DWORD time; //消息发送时的时间 POINT pt;

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档