VC中TabCtrl控件一些常用接口

来源:互联网 发布:淘宝发空包会怎么样 编辑:程序博客网 时间:2024/05/18 03:03

 Tab Control是VC自带的控件,它其实只是实现了标签切换,所以需要自己控制下面控件的显示和隐藏,不是很方便,所以还是尽量用属性页。一些常用的操作如下:

 

BOOL CTabCtrDlg::OnInitDialog()
{
    ...    
    
// TODO: Add extra initialization here
    m_tab.InsertItem(0,"tab1");
    m_tab.InsertItem(
1,"tab2");
    m_test2.ShowWindow(SW_HIDE);
    
return TRUE;  // return TRUE  unless you set the focus to a control
}

 

BOOL InsertItem( int nItem, LPCTSTR lpszItem );

nItem--Zero-based index of the new tab.  第一个参数在创建时没多大关系,正整数都行,不要求连贯,这个参数在CTabCtrl的其他函数会用到。也就是说,你创建时可以任意指定,但以后要用CTabCtrl其他接口函数修改,必须用你创建时设的那个数,所以还是有点规律比较好。

通常,你需要响应TCN_SELCHANGE消息,控制每个页控件的显示和消失

 

void CTabCtrDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
    
// TODO: Add your control notification handler code here
    int sel = m_tab.GetCurSel();
    
switch(sel)
    
{
    
case 0:
        m_test1.ShowWindow(SW_SHOW);
        m_test2.ShowWindow(SW_HIDE);
        
break;
    
case 1:
        m_test2.ShowWindow(SW_SHOW);
        m_test1.ShowWindow(SW_HIDE);
        
break;
    
default:
        
break;
    }

    
    
*pResult = 0;
}

 

int GetCurSel( ) const;

Return Value

Zero-based index of the selected tab if successful or  – 1 if no tab is selected.

上面就是 Tab Control 控件一些常规用法,虽然没有属性页方便,但是微软做的越少,我们可以掌握的也就越多,这控件肯定具有更好的可扩展性.

原创粉丝点击