1.1 创建对话框的应用程序
1.使用AppWizard创建应用程序框架
首先,创建一个对话框应用程序,其工程文件名为:ch1.dsp。具体步骤如下:
(1)启动Visual C++ 6.0,在File菜单中选择new菜单项; (2)在new对话框的Project页中选择 MFC AppWizard(exe)选项,在Project name框中输入:ch1,并在Location 框中指定希望的目录路径,编译系统生成的各种文件将会存放在该目录下,然后点击[OK]按钮
(3)MFC AppWizard-Step1 中选择Dialog based 选项,MFC AppWizard-Step2 到MFC AppWizard-Step4中取默认选项; (4)进入VC对话框设计界面后,选中 [TODO:在这里设置对话控制。]静态框并按del键删除该框,选中[取消]按钮并按del键删除该按钮; (5)将[确认]按钮拖曳到对话框的下方中间。 生成的对话框设计窗口(如图1-1所示)。
图1-1
2.向类中添加系统消息响应函数
Windows应用程序的采用事件触发、消息驱动机制和大量的消息响应函数构成了应用程序的主体。本示例需要用到两个消息响应函数OnCtlColor()和OnTimer(),前者响应窗口消息:WM_CTLCOLOR,后者响应窗口消息:WM_TIMER。关于这两个函数的功能和用法暂且略过,留待后面小节再叙。这里先介绍响应函数加载的方法。
在CCh1Dlg类中添加OnCtlColor( )函数的操作方法如下: (1)打开类向导(MFC ClassWizard)窗口,选择Message Maps页;
(2)选择工程、类和对象标识。在Message Maps页的Project、Class name、Object Ids框中 分别选择:ch1、CCh1Dlg、CCh1Dlg;
(3)添加响应函数。在Message Maps页的Messages框中选中并双击窗口消息:WM_CTLCOLOR,此时,消息WM_CTLCOLOR的响应函数OnCtlColor( )被添加到类向导底部Member Functions框中。
注意,添加OnTimer( )函数的过程与上述过程相似,只是第(3)步选择WM_TIMER消息,而不是WM_CTLCOLOR。 添加完毕后,按[OK]按钮退出类向导。回到项目工作区,在项目工作区窗口展开CCh1Dlg类,可以看到类中添加了OnCtlColor( )和OnTimer( )两个消息响应函数。
1.2 静态框控件
1.静态框控件与CStatic类
静态框的功能是通过MFC类库中的CStatic类实现的。 静态框可以用来显示文本、位图或图元文件等。示例ch1中的日历框和时钟框就是通过静态控件实现的,为此,下面将围绕示例介绍静态控件使用方法。
首先在对话框中添加一个显示内容为“当前时间”的静态框,步骤如下:
(1)添加静态框。参考图1-1,用鼠标器单击右边控件工具栏中静态控件(Static Text)按钮,通过鼠标在对话框左边偏上的位置上拖曳出一个静态框,调整静态框到合适的大小;
(2)打开静态控件属性对话框。右击该静态框,从弹出菜单中选择属性(Properties)菜单项,弹出属性(Text
Properties)对话框;
(3)更改静态框中文本内容。在属性对话框中选择General页,将Caption框的内容修改为: 当前时间:
(4)单击属性对话框右上角的关闭按钮,关闭属性对话框。 接着添加一个显示内容为“00:00:00”的时钟静态框: (1)重复上面(1)、(2)两步操作,在“当前时间:”静态框下方添加一个新的静态框;
(2)更改静态控件标识符和文本内容。在属性对话框中选择General页,将ID框的标识符
IDC_STATIC改为:IDC_STATIC1,将Caption框的内容修改为:00:00:00;
(3)设置文本对齐方式。在属性对话框中选择Styles页,从Align text列表框中选择Center
选项、在多选框中选中Center Vertically选项; (4)设置边框样式。在属性对话框中选择Extended Styles页,选中Static edge项;
(5)单击属性对话框右上角的关闭按钮,关闭属性对话框。 最后,按上述方法在对话框的右侧添加一个日历静态框,其属性参数设置如下:
(1)在属性对话框中选择General页,将ID 框的标识符IDC_STATIC改为:IDC_STATIC2, 将Caption框的内容修改为:
\\n 2004年03月\\n\\n 12日\\n\\n 星期五
其中“\\n”表示换行,而插入空格是为了调整日期显示的 位置;
(2)在属性对话框中选择Styles页,从Align text列表框中选择Left选项;
(3)在属性对话框中选择Extended Styles页,选中Modal frame 项。 对话框界面设计(如图1-2所示)。
图1-2 2.更改静态框文本内容
程序运行时,用户无法通过键盘输入更改静态框的内容。如需要动态地变更静态框的内容,可通过编程来实现。为此需要在CCh3_1Dlg类中添加两个分别与IDC_STATIC1、IDC_STATIC2静态控件相关成员变量,操作如下: (1)在View菜单中选择ClassWizard菜单项,打开类向导
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Visual C++基于对话框的MFC应用程序 - 简单的时钟实例实验一在线全文阅读。
相关推荐: