主题

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. FreeMarker笔记 第二章 数值和类型

    2.1 基本内容 2.1.1 简介 2.1.2 什么是数值 和程序语言中的数值类型是相似的. 2.1.3 什么是类型? 2.1.4 数据模型是哈希表 2.2 类型 2.2.1 简介 2.2.2 标量 ...

  2. CAT XQX ---- 增删改查架构说明 1

    View 层  --  以国家为例 1. 显示 数据库的 table 页面效果 对应代码: <table id="dg" title="国家信息" cla ...

  3. SQL求 交集 并集 差集

    故事是这样的….. 故事情节: 表 tb_test 有两列, colA , colB; 求 colA , colB 的并交差集… -- 计算并集 SELECT DISTINCT colB FROM t ...

  4. JS简单入门教程

    JS简单教程 使用方法:放到任意html页面的head标签下 Test1方法弹出当前时间对话框 Test2方法for循环输出 Test3方法for(…in…)输出数组内容 <script typ ...

  5. Archlinux 踩坑实录

    Archlinux 没声音 1. 排查驱动,声卡驱动没问题 2.排查alsa,alsa没问题(并确认声卡存在且取消静音) 3.抱着尝试的心态,安下VLC.然后提示找不到默认声卡设备(大概这个意思),通 ...

  6. 20 个超酷的 HTML5/CSS3 应用及源码

    [导读] 1.HTML5视频破碎重组特效,强大视觉冲击HTML5视频播放器很多,但是HTML5视频特效还是很少见的,这款HTML5视频破碎重组特效非常刺激,给人强大的视觉冲击.点击视频任意地方,HTM ...

  7. html5 canvas 移动小方块

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. dom 学习的开始~简单留言1

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. TDBXCommand TDBXReader

    TDBXCommand  *cmd; cmd= FDBXConnection->CreateCommand(); cmd->CommandType=TDBXCommandTypes_DSS ...

  10. vim显示历史命令

    [vim显示历史命令] q: 进入命令历史编辑.类似的还有 q/ 可以进入搜索历史编辑.注意 q 后面如果跟随其它字母,是进入命令记录. 可以像编辑缓冲区一样编辑某个命令,然后回车执行.也可以用 ct ...