MFC使用Tab Control(选项卡控件)方法
MFC中使用Tab Control和VB中的使用还是比较不同的,MFC中的Tab Control就是Tab对象关联了对话框来实现的(对话框的Style要设置为Child),实现还是比较简单的,那我们上代码。 1.建立一个MFC工程,在对话框中加入Tab Control控件,关联CTabControl变量m_tab 2.建立几个对话框(你的Tab Control想有几页就建立几个,因为一页是关联一个对话框),这里我们建立2个 3.新建的2个对话框新建一下类,在主的对话框的.h中加入新建类的头文件,我们这里新建了两个对话框。 ID分别是: IDD_DIALOG_COMMAND IDD_DIALOG_FILE 为这两个对话框新建类分别是: CFileDlg CCommandDlg 那我们就在主对话框头文件中加入我们新建类对话框的文头件 #include "FileDlg.h" #include "CommandDlg.h" 接着在主对话框的类中加入两个对话框成员对象: CCommandDlg m_CommandDlg; CFileDlg m_FileDlg; 好加入完毕之后,我们就到主对话框中的OnInitDialog()函数中处理我们的Tab Control控件消息,输入一下代码: m_tab.InsertItem(0,"第一页"); m_tab.InsertItem(1,"第二页"); ///////////////////////////////////////获取Tab Control控件的界面,来设置子对话框的大小 CRect rect; m_CommandDlg.Create(IDD_DIALOG_COMMAND,&m_tab); m_FileDlg.Create(IDD_DIALOG_FILE,&m_tab); m_tab.GetClientRect(&rect); rect.top+=40; rect.bottom-=10; rect.left+=10; rect.right-=10; m_CommandDlg.MoveWindow(&rect); m_FileDlg.MoveWindow(&rect); m_RegeditDlg.MoveWindow(&rect); m_RemoteDlg.MoveWindow(&rect); m_CommandDlg.ShowWindow(true); m_FileDlg.ShowWindow(false); m_tab.SetCurSel(0);//设置默认选项卡 设置完毕后,接下来的最后一个工作就是为我们的Tab Control添加消息,为我们Tab Control添加TCN_SELCHANGE消息,在消息里面输入以下代码: int CurSel = m_tab.GetCurSel(); switch(CurSel) { case 0: m_CommandDlg.ShowWindow(true); m_FileDlg.ShowWindow(false); break; case 1: m_CommandDlg.ShowWindow(false); m_FileDlg.ShowWindow(true); break; default: ; } 这下我们就完成了我们的选项卡,运行一下程序,点一下选项卡的标签“第一页”跟“第二页”看一下程序的效果。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |