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: ;
  }

这下我们就完成了我们的选项卡,运行一下程序,点一下选项卡的标签“第一页”跟“第二页”看一下程序的效果。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...