前端之家收集整理的这篇文章主要介绍了
MFC使用Tab Control(选项卡控件)方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
403_0@MFC中使用Tab Control和VB中的使用还是比较不同的,MFC中的Tab Control就是Tab对象关联了对话框来实现的(对话框的Style要设置为Child),实现还是比较简单的,那我们上
代码。
@H_
403_0@1.建立一个MFC工程,在对话框中加入Tab Control控件,关联CTabControl变量m_tab
@H_
403_0@2.建立几个对话框(你的Tab Control想有几页就建立几个,因为一页是关联一个对话框),这里我们建立2个
@H_
403_0@3.新建的2个对话框新建一下类,在主的对话框的.h中加入新建类的头
文件,我们这里新建了两个对话框。
@H_
403_0@ID分别是:
@H_
403_0@
IDD_DIALOG_COMMAND
@H_
403_0@
IDD_DIALOG_FILE
@H_
403_0@为这两个对话框新建类分别是:
@H_
403_0@
CFileDlg
@H_
403_0@
CCommandDlg
@H_
403_0@那我们就在主对话框头
文件中加入我们新建类对话框的文头件
#include "FileDlg.h"
#include "CommandDlg.h"
@H_
403_0@接着在主对话框的类中加入两个对话框成员对象:
CCommandDlg m_CommandDlg;
CFileDlg m_FileDlg;
@H_
403_0@好加入完毕之后,我们就到主对话框中的
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);//设置默认选项卡
@H_
403_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: ;
}
@H_
403_0@这下我们就完成了我们的选项卡,运行一下程序,点一下选项卡的
标签“第一页”跟“第二页”看一下程序的
效果。