C++ Code_TabControl
|
主题 |
|
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. 2.
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.Create(); imgLst.Add(); imgLst.SetImageList(&imglst); |
附件列表
C++ Code_TabControl的更多相关文章
随机推荐
- TestNG中同一个类中执行多个test()方法如何配置testng.xml
public class IndexInfo extends BaseTesting{ private IndexPage IndexPage1;// private AddEquipmentInfo ...
- js获取字符串最后一个字符代码
方法一:运用String对象下的charAt方法 charAt() 方法可返回指定位置的字符. 代码如下 复制代码 str.charAt(str.length – 1) 请注意,JavaScript ...
- 顺序表的基本操作(C)
在顺序存储结构实现基本操作:初始化.创建.插入.删除.查找.遍历.逆置.合并运算. 运行示例: 请输入线性表La的长度: 请输入线性表La中的元素(共5个) *** 此时线性表La中的元素 *** * ...
- Python 时间整理
在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块. 在开始之前,首先要说明这几点: ...
- leetcode—sudoku solver
1.题目描述 Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicate ...
- C语言基础(不断更新)
1.memcpy. memmove.memccpy的区别 字符串函数功能查询 memcpy要求源串和目的串不能重叠 memccpy:copy直至遇到由参数指定的ch. memmove: 源串和目的串可 ...
- vmware10中开启Intel VT-x
记得刚接触linux的时候,是在win7下使用vmware虚拟机来安装linux,这样就可以方便的一边使用win7娱乐,一边在linux下进行学习.后来发现这种方式使得win7很卡,虚拟机也很卡,让人 ...
- Ios下解决libzbar.a不支持armv7s的方法
解决 libzbar.a' for architecture armv7 的问题 下载最新的zbar源码 http://sourceforge.net/p/zbar/code/ci/default/t ...
- NServiceBus教程-持久化配置
当配置在NServiceBus v5持久性,秩序是非常重要的.最后赢得持久性配置选项.我们看看一些例子. 示例1 在本例中最后一个配置选项将会覆盖前面的所有选项. v5.2 v5.0 编辑 var c ...
- ERROR (ClientException) nova image-list
nova image-listERROR (ClientException): The server has either erred or is incapable of performi9e-6c ...






