主题

1.
选项卡控件基础

2.
显示图标的选项卡

3.
选项卡控件高级

4.

5.

    

属性

    

选项卡控件基础

1.插入1个对话框,新建1个类 CCDialog1,1
个对话框对应一个TAB属性页面

 
2.对话框设置属性
    Style:Child,
    Border:None
3. 定义公共变量
双击 DIALOG1的OK按钮

 
 
    CDialog1 m_page1;
    CDialog2 m_page2;
    CDialog3 m_page3;
给TABCTRL 关联一个控件变量
    CTabCtrl    m_tab1;
    
4 代码如下::OnInitDialog()

    // TODO: Add extra initialization here
    m_tab1.InsertItem(0,"AA");
    m_tab1.InsertItem(1,"BB");
    m_tab1.InsertItem(2,"CC");
    m_page1.Create(IDD_DIALOG1,&m_tab1);
    m_page2.Create(IDD_DIALOG2,&m_tab1);
    m_page3.Create(IDD_DIALOG3,&m_tab1);
        
    CRect rect;
    m_tab1.GetClientRect(rect);
    rect.DeflateRect(2,30,2,2);
            
    m_page1.MoveWindow(&rect);
    m_page2.MoveWindow(&rect);
    m_page3.MoveWindow(&rect);
    
    m_page1.ShowWindow(SW_SHOW);
    m_page2.ShowWindow(SW_HIDE);
    m_page3.ShowWindow(SW_HIDE);
     
    m_tab1.SetCurSel(0);
 
5 为双击tabctrl添加OnSelchangeTab1消息
void CMfc01Dlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
    // TODO: Add your control notification handler code here
    int nCurSel = m_tab1.GetCurSel();
    switch(nCurSel)
    {
    case 0:
        m_page1.ShowWindow(SW_SHOW);
        m_page2.ShowWindow(SW_HIDE);
        m_page3.ShowWindow(SW_HIDE);
        break;
    case 1:
        m_page1.ShowWindow(SW_HIDE);
        m_page2.ShowWindow(SW_SHOW);
        m_page3.ShowWindow(SW_HIDE);
        break;        
    case 2:
        m_page1.ShowWindow(SW_HIDE);
        m_page2.ShowWindow(SW_HIDE);
        m_page3.ShowWindow(SW_SHOW);
        break;    
    }

*pResult = 0;

}
    
效果图:

    
    
 
 

显示图标的选项卡

1.
在资源中插入3个ICON

2.
为主对话框的 CMFC01dlg添加变量

    CImageList m_imgLst1;//如果这个变量声明放在初始化这个地方
则图标显示不不出来
 
    
 
    // TODO: Add extra initialization here
    m_imgLst1.Create(24,24,ILC_COLOR24|ILC_MASK,1,1);
    m_imgLst1.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));
    m_imgLst1.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON2)));    
    m_imgLst1.Add(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON3)));
    m_tab1.SetImageList(&m_imgLst1);
    
    m_tab1.InsertItem(0,"AA",0);
    m_tab1.InsertItem(1,"BB",1);

m_tab1.InsertItem(2,"CC",2);

效果图

注:本代码这是片段代码,在上面
的完整代码的基础上的

图片列表使用

CImageList
imglst;

imglst.Create();

imgLst.Add();

imgLst.SetImageList(&imglst);

 
 

附件列表

C++ Code_TabControl的更多相关文章

随机推荐

  1. 【转】linux之tune2fs命令

    转自:http://czmmiao.iteye.com/blog/1749232 tune2fs简介 tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外 ...

  2. div模拟的下拉框特效

    随笔- 4 文章- 0 评论- 0 ? <style type="text/css"> body, ul, li { margin: 0; padding: 0; fo ...

  3. 【LeetCode】88 - Merge Sorted Array

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...

  4. 【LeetCode】66 & 67- Plus One & Add Binary

    66 - Plus One Given a non-negative number represented as an array of digits, plus one to the number. ...

  5. PropertyPlaceholderConfigurer加载属性配置文件:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  6. 【加解密】关于DES加密算法的JAVA加密代码及C#解密代码

    JAVA加密: package webdomain; import java.security.Key; import java.security.spec.AlgorithmParameterSpe ...

  7. tableView 显示区域偏移

    在SB拖了一个tableView , 在显示的时候显示区域和tableView的区域不一致, (UITableViewWrapperView 和 UITableView frame不一致) 在SB上看 ...

  8. POJ 1410 Intersection(判断线段交和点在矩形内)

    Intersection Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9996   Accepted: 2632 Desc ...

  9. RingBuffer源代码分析

    看到一篇写的非常详细的帖子,为防止楼主删帖后找不到,果断转载过来 RingBuffer源代码分析 出处:http://bbs.ickey.cn/community/forum.php?mod=view ...

  10. Python基础-函数(function)

    这里我们看看Python中函数定义的语法,函数的局部变量,函数的参数,Python中函数的形参可以有默认值,参数的传递是赋值操作,在函数调用时,可以对实参进行打包和解包  1,函数定义 关键字def引 ...