Coding的痕迹

一位互联网奔跑者的网上日记

0%

(原)VC MFC Tab控件的使用

路,很曲折啊。VC6下的Tab控件有些麻烦,不知道当初VC6的设计者们,为什么不在Tab控件的属性中添加"选项卡1"、“选项卡2"与对话框的关联?说明下,VC6中的Tab控件是要和对话框关联到一起的。下面介绍方法:
一、打开VC6,点击文件->新建->工程选项卡,选择"MFC AppWizard (EXE)”,填写好工程名和路径,点击确定。
二、选择基本对话框,然后点击完成(自定义后面的细节不影响),弹出详细配置信息,点击确定。

三、把TODO: 在这里设置对话控制。删掉。从"控件"栏中将Tab控件拖到主窗口里,调整好大小(细节自定),如图。(由于网易博客停止服务,图片无法显示)
四、按 Ctrl+W 键,弹出"MFC ClassWizard"对话框,选择"Member Variables"选项卡,在下面的列表框中,选择刚才创建的 IDC_TAB1(也可能是你设置的值),单击右上角"Add Variavles"为该控件绑定一个类成员变量,这样可以大大简化程序代码中要进行的操作。我们把变量名设置为m_tab
五、这步比较关键,我就是在这一步上出现了些问题,有些教程没有说明。新建两个对话框这谁都知道,在这两个对话框的属性中,点击"样式"选项卡,在标注为"样式"的下拉框中选择"下层",在标注为"边框"的下拉框中选择"无"。
六、给这两个刚才创建的窗口添加一个类。就是双击该窗口的任意部分,会弹出一个对话框,选择"Create a new class"单选按钮,点确定,在"Class Name"中输入CDialog1/CDialog2。点击确定。
七、在"MFC ClassWizard"对话框的"Message Maps"选项卡里,下方有一个标注为"Member Functions"的列表框,第二个函数是OnInitDialog,这个函数是初始化窗口的函数。我们在其中// TODO: Add extra initialization here的后面,添加如下代码:

1
2
m_tab.InsertItem( 0, "选项卡一");  // 添加选项卡1
m_tab.InsertItem( 1, "选项卡二"); // 添加选项卡2