主题

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. 【LeetCode 236】Lowest Common Ancestor of a Binary Tree

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  2. selenium python (十一)alert/confirm/prompt的处理(js中的弹出框)

    webdriver中处理js所生成的alert.confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept ...

  3. Solaris系统管理(一)

    最近需要将一个项目从Linux平台迁移到Solaris,对Solaris进行了一点研究,总结如下. 一句话介绍: Solaris 是Sun Microsystems研发的计算机操作系统.它被认为是UN ...

  4. IOS中UIScrollView的详细使用

    UIScrollView 是可以滚动的View 要想让UIScrollView可以滚动,必须设置UIScrollView的contentSize contentSize : 表示UIScrollVie ...

  5. 1005acm罚时

    ACM国际大学生程序设计竞赛是由国际计算机学会主办的,一项旨在展示大学生创新能力.团队精神和在压力下编写程序.分析和解决问题能力的年度竞赛.参赛队伍最多由三名参赛队员组成,竞赛中一般命题10-13题, ...

  6. ansible文件模块使用

    1. 文件组装模块-assemble assemble主要是将多份配置文件组装为一份配置文件. 参数 必填 默认 选项 说明 Backup 否 No Yes/no 是否创建备份文件,使用时间戳 Del ...

  7. C使用FILE指针文件操作

    文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等.文件 ...

  8. U盘安装RedHat 5.3

    转载自http://www.cnblogs.com/totozlj/archive/2012/06/03/2532757.html 1.下载rhel-5.3-server-i386-dvd.iso文件 ...

  9. MyEclipse2015对Javascript自动提示的终极支持

    2015通过集成Tern.js,进入了JS自动提示的最新时代 先看看具体效果吧:   点击链接会进入:   而tern.js已经支持相当多的框架:   关键这个提示不只是纯粹的js文件,对于jsp等等 ...

  10. Cocos2d-x项目移植到WinRT/Win8小记

    Cocos2d-x项目移植到WinRT/Win8小记 作者: K.C. 日期: 11/17/2013 Date: 2013-11-17 23:33 Title: Cocos2d-x项目移植到WinRT ...