第3章对话框(编辑修改稿)内容摘要:

居中 宽度相同 显示标尺 靠齐右边 左右居中 高度相同 测试对话框 靠齐下边 上下间隔相等 显示网格 添加和布局控件 布局工具相对应的菜单命令在“编排”菜单下,而且大部分命令均有相应的快捷键。 “编排”菜单不是在Visual C++ ,而是随着对话框编辑器的打开而显示的。 值得注意的是: 大多数布置控件的命令使用前,都需要用户选取多个控件,且“主要控件”起到了关键作用。 只改变其它控件的大小,并与“主要控件”的尺寸一致。 设置的方法是按住Ctrl或 Shift键,然后用鼠标单击所要指定的控件即可。 为了便于用户在对话框内精确定位各个控件,系统还提供了网格、标尺等辅助工具。 一旦网格显示,添加或移动控件时都将自动定位在网格线上。 添加和布局控件 4. 测试对话框 “编排”菜单下的 Test命令或布局工具栏上的测试按钮 是用来模拟所编辑的对话框的运行情况,帮助用户检验 对话框是否符合用户的设计要求以及控件功能是否有效 等。 如图 (右下 ) 右击添加的控件,从快捷菜单中选择“属性”,出现如 图 (左上 ) 创建对话框类 在应用程序中使用添加的对话框须先为该对话框模板创建 一个用户对话框类。 在对话框资源模板的空白区域 (没有其他 元素或控件 )内双击鼠标,将弹出对话框 单击 [OK]按钮 ,弹出 右图所示的对话框。 在 Name框中输入类名 CFirstDlg, 单击 [OK]按钮,一个基于 对话框资源模板的用户对话框类 CFirstDlg就创建好了。 此时 出现 MFC ClassWizard(MFC类向导 )对话框。 添加对话框代码 在 MFC ClassWizard对话框中,可以看到“ Class name”组合框已经是CFirstDlg。 单击 [Add Function]按钮或双 击 WM_INITDIALOG消息, MFC ClassWizard自动为 CFirstDlg 类添加 OnInitDialog函数。 在 Member functions表框中选择刚添加 的 OnInitDialog,单击 [Edit Code] 将出现函数代码编辑窗口,在函数中添码: BOOL CFirstDlg::OnInitDialog() { CDialog::OnInitDialog()。 Static*pWnd=(CStatic*)GetDlgItem (IDC_STATIC_1)。 pWndSetWindowText (“这是我的 第一个对话框。 )。 return TRUE。 // return TRUE unless you set the focus to a control } 在程序中使用对话框 (1) 在项目工作区窗口中选择 ResourceView页面, 双击资源“ Menu”项中的 IDR_MAINFRAME,则菜单 编辑器窗口出现在主界面的右边,相应的 Ex_SDI项 目的菜单资源被显示出来,在菜单的最后一项, Vis ual C++为用户留出了一个空位置,用来输入新的菜 单项,如图 在程序中使用对话框 (2) 在菜单的空位置上双击鼠标左键,则出现它的属性 对话框,在标题框中输入“测试 (amp。 T)”,结果如图所示,其 中符号 amp。 用来其后面的字符作为该菜单项的助记符,这样 当按住“ Alt”键不放,再敲击该助记符键时,对应的菜单项 就会被选中,或在菜单打开时,直接按相应的助记符键, 对应的菜单项也会被选中。 在程序中使用对话框 (3) 单击菜单属性对话框中的“保存可见” (Keep Visible) 按钮,使此属性对话框一直可见,以方便操作。 单击“测 试”菜单项下方的空位置,在属性对话框中,输入标题“对 话框 (amp。 D)”,在 ID框输入该菜单项的资源标识。 _TEST_DLG, 结果如图所示,单击属性对话框右上角的关闭按钮。 在程序中使用对话框 (4) 用鼠标将新添加的菜单项拖到“查看”和“帮助”菜单项 之间,结果如图所示。 菜单项“对话框”拖放后的位置 (5) 选择“查看” “建立类向导”菜单命令或直接按 Ctrl+W快 捷键,则出现 MFC ClassWizard对话框,该对话框会自动 切换到 Message Maps页面。 (6) 从“ Class name”组合框中选择 CMainFrame,在 Object Ids 列表中选择 ID_TEST_DLG,然后在 Messages框中选择 CO MMAND消息。 在程序中使用对话框 (7) 单击 [Add Function]按钮或双击 COMMAND消息,出 现“ Add Member Function”对话框以输入成员函数的名称。 系统默认的函数名为 OnTestDlg,如图所示。 该函数是对菜单项 ID_TEST_DLG的映射,也就是说,当在应用程序运行时。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。