MFC对话框窗口&Tab Control控件

来源:互联网 发布:鼠标 淘宝店推荐 编辑:程序博客网 时间:2024/05/20 04:31
在工具箱向面板添加Tab Control后
需要注意Tab Control分为标签和客户区两个区域
标签就是一堆按钮,切换时触发事件
分别添加标签、客户区、针对标签的消息响应函数,达到使用标签切换窗口的效果


1.添加Tab Control控件


2.为控件添加CTabCtrl类型变量(如m_tab)


3.在OnInitDialog()中使用如下语句插入标签
m_tab.InsertItem(0,//索引
T("ONE") //标签
);   

4.新建Dialog资源文件,(如IDD_DIALOG1)
设置属性Border=None
Style=child

5.为Dialog创建类,基于CDialog


6.在主对话框头文件中添加类实例


7.为控件创建标签页
m_one.Create(IDD_DIALOG1, &m_tab);

8.设置控件位置
//获取客户区位置
CRect tabRect;  
m_tab.GetClientRect(&tabRect);
    tabRect.left += 1;                   
    tabRect.right -= 1;    
    tabRect.top += 25;    
    tabRect.bottom -= 1;    


//调整对话框位置
    m_one.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
//或使用如下函数
//m_one.MoveWindow(&tabRect);
//m_one.ShowWindow(false);

9.为Tab Control添加消息响应函数(默认事件)
OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;

   
    switch (m_tab.GetCurSel())    
    {    
    case 0:    
m_one.ShowWindow(true);
m_two.ShowWindow(false);
        break;      
    case 1:    
m_one.ShowWindow(false);
m_two.ShowWindow(true);
        break;    
//case 2:
//......
    default:    
        break;    
    }    
0 0
原创粉丝点击