正在加载图片...
第14单元对话框 void CMyWnd: OnRBut tonDown (UINT nFlags, CPoint point) CAboutDig dl dlg DoModal O 输入输出:除可用鼠标左键生成泡泡外,按下鼠标右键会弹出一版权对话框 分析:该对话框仅提供了固定的版本信息,没有实现用户与应用程序间的数据交流 所以结构比较简单。 CAboutDIg类重载了构造函数并调用了基类 CDialog的构造函数来实现 对话框模板资源和对话框类之间的关联。注意其中的枚举类型定义,其实质是将具体的对话 框模板资源的标识符在对话框类内映射为统一的标识符IDD 在框架窗口类的 OnR Button Down()成员函数中,声明了一个 CAboutDIg类的对象 并通过其 DoModal()成员函数调用该对话框。这是典型的模态对话框调用方法,除非用 户按下对话框上的OK按钮、 Cancel()按钮或窗口右上角的关闭按钮退出对话框,用户的 所有输入信息均被该对话框截留(无论该信息对对话框是否有用) 实际上,可以使用 Class wizard直接从对话框模板资源生成对应的对话框类代码,无需 手工编程。这方面的内容请参看148:“使用 ClassWizard建立对话框类”。 142控件 要使对话框真正具有与用户对话的能力,还必须使用控件。所谓控件,就是一个现成的 程序组件,可以独立运行以完成一定的功能。 Windows提供了大量控件,控件的使用不仅方 便了 Windows编程,还使 Windows程序具有相当统一的外观和风格。 控件多与对话框一起使用。所有的控件都是CWnd类派生出来的后代类对象,因此它 们均有和CWnd类似的属性。每个控件均有一个标识符(ID),在程序中可以通过这个标识 符对相应的控件进行操作 使用 Visual c++编程时可用的控件很多,在本单元中,仅介绍其中的两个:静态文本控 件和编辑控件,目的是介绍对话框中的数据交换机制。第15单元集中介绍其他控件。 静态文本控件是最简单的控件,其用途是在对话框上显示一段文字。在例14-1中,就 是使用静态文本控件来显示软件的版本信息的。由于静态文本控件的文字和属性均在编辑对 话框模板资源时确定,程序运行中一般无法改变,所以在编程时无需考虑静态文本控件 编辑控件是最有用的控件,其功能十分全面,本身就是一个小型的文本编辑器。编辑控 件的作用是接受用户输入的字符串信息。 以上控件作为资源的编辑方法可参看147:“对话框模板资源的编辑”。 143对话框的初始化 对话框的初始化工作一般在构造函数和 OnInitDialog()函数中完成。在构造函数中的 初始化工作主要是针对对话框的数据成员进行的第 14 单元 对话框 278 void CMyWnd::OnRButtonDown(UINT nFlags, CPoint point) { CAboutDlg dlg; dlg.DoModal(); } 输入输出:除可用鼠标左键生成泡泡外,按下鼠标右键会弹出一版权对话框。 分 析:该对话框仅提供了固定的版本信息,没有实现用户与应用程序间的数据交流, 所以结构比较简单。CAboutDlg 类重载了构造函数并调用了基类 CDialog 的构造函数来实现 对话框模板资源和对话框类之间的关联。注意其中的枚举类型定义,其实质是将具体的对话 框模板资源的标识符在对话框类内映射为统一的标识符 IDD。 在框架窗口类的 OnRButtonDown()成员函数中,声明了一个 CAboutDlg 类的对象, 并通过其 DoModal()成员函数调用该对话框。这是典型的模态对话框调用方法,除非用 户按下对话框上的 OK 按钮、Cancel()按钮或窗口右上角的关闭按钮退出对话框,用户的 所有输入信息均被该对话框截留(无论该信息对对话框是否有用)。 实际上,可以使用 ClassWizard 直接从对话框模板资源生成对应的对话框类代码,无需 手工编程。这方面的内容请参看 14.8:“使用 ClassWizard 建立对话框类”。 14.2 控件 要使对话框真正具有与用户对话的能力,还必须使用控件。所谓控件,就是一个现成的 程序组件,可以独立运行以完成一定的功能。Windows 提供了大量控件,控件的使用不仅方 便了 Windows 编程,还使 Windows 程序具有相当统一的外观和风格。 控件多与对话框一起使用。所有的控件都是 CWnd 类派生出来的后代类对象,因此它 们均有和 CWnd 类似的属性。每个控件均有一个标识符(ID),在程序中可以通过这个标识 符对相应的控件进行操作。 使用 Visual C++编程时可用的控件很多,在本单元中,仅介绍其中的两个:静态文本控 件和编辑控件,目的是介绍对话框中的数据交换机制。第 15 单元集中介绍其他控件。 静态文本控件是最简单的控件,其用途是在对话框上显示一段文字。在例 14-1 中,就 是使用静态文本控件来显示软件的版本信息的。由于静态文本控件的文字和属性均在编辑对 话框模板资源时确定,程序运行中一般无法改变,所以在编程时无需考虑静态文本控件。 编辑控件是最有用的控件,其功能十分全面,本身就是一个小型的文本编辑器。编辑控 件的作用是接受用户输入的字符串信息。 以上控件作为资源的编辑方法可参看 14.7:“对话框模板资源的编辑”。 14.3 对话框的初始化 对话框的初始化工作一般在构造函数和 OnInitDialog()函数中完成。在构造函数中的 初始化工作主要是针对对话框的数据成员进行的
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有