vc 对话框使用Tab Control控件的多标签页

出自:http://blog.sina.com.cn/s/blog_45eaa01a0101ees1.html

VC 使用TAB_CONTROL控件的多标签页

一. 创建一个基于对话框的工程testTabCtrl


二. 插入多个对话框
  这里,插入2个对话框IDD_DIALOG1,IDD_DIALOG2,删除其上的两个按钮,并改变其静态文本为分别为: 第1对话框 和 第2对话框
  右击对话框 -> ClassWizard...,为其创建类,名称分别为: CDialog1,和 CDialog2
  右击对话框 -> Properties,在Styles标签页,选择 Style: Child, Border:None

三. 在主对话框头文件testTabCtrlDlg.h内声明两个对话框变量
 
  1.在开始处,加入两条语句:

#include "Dialog1.h"
#include "Dialog2.h"

  2.在类class CTestTabCtrlDlg : public CDialog 内,声明两个对话框变量:

 CDialog1 m_Dlg1;
 CDialog2 m_Dlg2;


四. 在主对话框上,拖入Tab Control控件,并为其创建变量和消息
  1. 从控件工具条上拖一个Tab Control到主对话框IDD_TESTTABCTRL_DIALOG上,并拉伸到合适位置和大小。
  2. 右击 IDC_TAB1控件 --> ClassWizard... ,
  2.1 在Member Variables标签页,为IDC_TAB1增加变量 m_tabCtrl
  2.2 在Message Maps标签页,为IDC_TAB1增加消息TCN_SELCHANGE
  3. 标签点击选择函数和对话框初始化函数如下:

void CTestTabCtrlDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
 // TODO: Add your control notification handler code here
 CRect rc;
 m_tabCtrl.GetClientRect(&rc);

 switch(m_tabCtrl.GetCurSel())
 {
 case 0://激活第1对话框,隐含第2对话框
  m_Dlg1.ShowWindow(SW_SHOW);
  m_Dlg2.ShowWindow(SW_HIDE);
  m_Dlg1.SetFocus();
  break;
 case 1://激活第2对话框,隐含第1对话框
  m_Dlg1.ShowWindow(SW_HIDE);
  m_Dlg2.ShowWindow(SW_SHOW);
  m_Dlg2.SetFocus();
  break;
 default:
  break;
 }
 
 *pResult = 0;
}


BOOL CTestTabCtrlDlg::OnInitDialog()
{
 CDialog::OnInitDialog();

 //"About..." menu item to system menu.
 
 m_tabCtrl.InsertItem(0,_T("第 1 标签页"));//插入标签页1
 m_tabCtrl.InsertItem(1,_T("第 2 标签页"));//插入标签页2

 m_Dlg1.Create(IDD_DIALOG1,&m_tabCtrl);//m_Dlg1成员变量创建对话框IDD_DIALOG1,关联m_tabCtrl控件变量
 m_Dlg2.Create(IDD_DIALOG2,&m_tabCtrl);

 CRect rc;
 m_tabCtrl.GetClientRect(&rc);//得到IDC_TAB1控件的大小
 rc.top += 20;rc.bottom -= 4;//适当缩减大小,以便预留四周的边框
 rc.left += 4;rc.right -= 4;

 m_Dlg1.MoveWindow(&rc);//调整将对话框大小,以便合适嵌入到IDC_TAB1控件内
 m_Dlg2.MoveWindow(&rc);

 m_Dlg1.ShowWindow(SW_SHOW);//显示第一对话框
 m_tabCtrl.SetCurFocus(0);//第一对话框获得焦点
 
 return TRUE;  // return TRUE  unless you set the focus to a control
}

五. 运行测试
  点击第1标签页,将显示第1对话框;

    点击第2标签页,将显示第2对话框。

vc <wbr>对话框使用Tab <wbr>Control控件的多标签页


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值