VC中TabCtrl控件一些常用接口

本文介绍了VC中TabCtrl控件的基本操作,包括InsertItem函数的使用,以及如何响应TCN_SELCHANGE消息来控制各页控件的显示。虽然不如属性页方便,但TabCtrl控件具有更高的可扩展性,允许开发者自定义更多的功能。

 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 控件一些常规用法,虽然没有属性页方便,但是微软做的越少,我们可以掌握的也就越多,这控件肯定具有更好的可扩展性.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值