主题

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. Maven安装testNG

    1.Maven安装testNG (1)打开网站:http://testng.org/doc/maven.html (2)复制如下代码,粘贴到项目的pom.xml文件: 1 <dependency ...

  2. SpringMVC 3.1集成Spring Security 3.1

    这篇算是一个入门文章,昨天看见有网友提问,spring mvc集成spring security 的时候出错,揣测了一下问题木有解决.我就帮忙给搭建了一个集成框架他说可以,他告诉我这样的文章网上少.今 ...

  3. java int和String类型之间的相互转换

    String --> int 第一种方法:int i = Integer.parseInt(s); 第二种方法:int i = Integer.valueOf(s).intValue(); 两种 ...

  4. VC6兼容性及打开文件崩溃问题解决

    VC6虽然老,但是一些工程还非得用它打开,没办法…… 今天偶然用到,因为新装了系统,之前的问题又要重新解决一遍 在这记录下解决过程,方便以后查阅: 一.兼容问题: XP以上windows系统打开VC6 ...

  5. mybatis源码学习: 编译的方法

    mybatis3用了一段时间,抽出时间来研究一下.具体用法参考官方文档就行,源码在这里.mybatis相对而言,规模较小,可以从中学习如何编写高质量的java项目. mybatis3使用maven管理 ...

  6. ubuntu 下安装sh 文件

    1. cd 到 指定文件夹 如: cd /home/ddy/下载 2. sudo chmod +x *.sh 3. sudo ./*.sh ok 了 (1)数据预处理    可以用下载好的数据集,也可 ...

  7. PHP时间格式控制符对照表

    format 字符 说明 返回值例子 日 --- --- d 月份中的第几天,有前导零的 2 位数字 01 到 31 j 月份中的第几天,没有前导零 1 到 31 S 每月天数后面的英文后缀,2 个字 ...

  8. Javascript类型转换表

    各种类型的值 转换为各种类型 String Number Boolean Object undefined "undefined" NaN false 报错 null " ...

  9. LINQ标准查询操作符(三)——Aggregate、Average、Distinct、Except、Intersect、Union、Empty、DefaultIfEmpty、Range、Repeat

    七.聚合操作符 聚合函数将在序列上执行特定的计算,并返回单个值,如计算给定序列平均值.最大值等.共有7种LINQ聚合查询操作符:Aggregate.Average.Count.LongCount.Ma ...

  10. 解决Ubuntu系统的每次开机重启后,resolv.conf清空的问题

    问题情况描述如下: 普及知识:   /etc/resolv.conf ,其实是一个Link .它其实指向的是 /run/resolvconf/resolv.conf.  Ubuntu 有一个 reso ...