Tab Control控件简单使用

本文讲述在普通对话框上添加标签的简单示例

第一步拖一个Tab Control到对话框上并添加变量m_tabCtrl;

  

第二步添加两个对话框资源IDD_DIALOG1,IDD_DIALOG2并将style为Child, Border为None,再分别为其添加对应的基于CDialog m_page1,m_page2

第三步在OnInitDialog()添加如下代码

  

 

 

代码
//添加选项卡名称
m_tabCtl.InsertItem(0,L"选项卡1");
m_tabCtl.InsertItem(
1,L"选项卡2");
    
//设置IDC_TAB1为父窗口
m_page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
m_page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));
    
//获得IDC_TABTEST客户区大小
CRect rc;
m_tabCtl.GetClientRect(
&rc);
    
//调整子对话框在父窗口中的位置
rc.top += 30;
rc.bottom 
-= 8;
rc.left 
+= 8;
rc.right 
-= 8;

//设置子对话框尺寸并移动到指定位置
m_page1.MoveWindow(&rc);
m_page2.MoveWindow(
&rc);

//分别设置隐藏和显示
m_page1.ShowWindow(true);
m_page2.ShowWindow(
false);

//设置默认的选项卡
m_tabCtl.SetCurSel(0);

 

 

第四步 添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下:

 

代码
void CProPageDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
    
// TODO: 在此添加控件通知处理程序代
    int CurSel = m_tabCtl.GetCurSel();

    
switch(CurSel)
    {
    
case 0:
        m_page1.ShowWindow(
true);
        m_page2.ShowWindow(
false);
        
break;
    
case 1:
        m_page1.ShowWindow(
false);
        m_page2.ShowWindow(
true);
        
break;
    }
    
*pResult = 0;
}

 

然后自己慢慢调整对话框的合适位置咯....

 

 

 

posted @ 2010-03-14 01:01  独奏者  阅读(47217)  评论(0编辑  收藏  举报