1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个TabControl控件

2、根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl

3、插入两个新的对话框其属性作如下修改:

Border:none //边界为空,这样它就没了标题栏

Style :Child // 这样这个模板就可以当作另一个窗口的子窗口了。

Title Bar:False

在上面加一些控件什么的,具体操作跟普通对话框没有区别。
完成后从这两个对话框模板生成新的对话框类CDlg1,CDlg2。

4、在主对话框头文件CMydlg.h中为新添加进来的2个类增加2个变量:
如:CDlg1 page1;

5、在主对话框的OnInitDialog()函数中添加如下类似的代码:

TCITEM item;

item.mask = TCIF_TEXT;

item.pszText =_T( "第一页");

m_tabctrl.InsertItem (0,&item);

item.pszText =_T("第二页");

m_tabctrl.InsertItem (1,&item);

page1.Create (IDD_DIALOG1,&m_tabctrl);

page2.Create (IDD_DIALOG2,&m_tabctrl);

CRect rect;

m_tabctrl.GetClientRect(&rect);

rect.top+=20;

rect.bottom-=4;

rect.left+=4;

rect.right-=4;

page1.MoveWindow(&rect);

page2.MoveWindow(&rect);

page1.ShowWindow(TRUE);

m_tabctrl.SetCurSel(0);

6、在主对话中为标签控件添加一个标签选择改变(TCN_SELCHANGE)的控件通知消息,以便在用户选择标签时通知主对话框。在主对话框的编辑界面右击标签控件,选择添加一个事件处理程序,选择可以完成这个操作

在事件处理中添加如下代码,如下例:

int CurSel;

CurSel=m_tabctrl.GetCurSel();

switch(CurSel)

{ case 0:

page1.ShowWindow(TRUE);

page2.ShowWindow(FALSE);

break;

case 1:

page1.ShowWindow(FALSE);

page2.ShowWindow(TRUE);

break;

default:

}

要想知道用户选择那个标签页,要通过m_tabctrl.GetCurSel() 函数。为了不使显示的子对话框覆盖标签控件的显示,所以要获得标签控件的尺寸然后设置各页面的尺寸。

转载于:https://www.cnblogs.com/jiangzhaowei/p/5134317.html

TabControl控件用法图解相关推荐

  1. C# WPF TabControl控件用法详解

    概述 TabControl我之前有讲过一节,内容详见:C# WPF TabControl用法指南(精品),上节主要讲解了tabcontrol控件的左右翻页,以及页面筛选,以及数据绑定等内容,这节内容继 ...

  2. Visual Studio中的TabControl控件的用法

    今天遇到了一个自己没遇到过的控件TabControl控件,所以找了点关于它的资料 TabControl 属性 DisplayRect:只定该控件客户区的一个矩形   HotTrack:设置当鼠标经过页 ...

  3. MFC中选项卡TabControl控件的用法

    前言:我这里的开发环境是VS2010,其它不同的开发环境可能会有所差别,但绝不会差太多,其根本方法一般是不会变的. 选项卡控件(英文名:TabControl),这个控件使用在开发一些比较复杂,和用户交 ...

  4. ASP:Literal控件用法

    ASP:Literal控件用法 刚开始学.NET的朋友可能不清楚Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了<span&g ...

  5. TabControl控件和TabPage

    TabControl控件搞了两天才弄会,发个简单教程  TabControl控件可以支持在一个控件里面放置多个选项卡,每个选项卡又可以放置多个控件 由于在控件属性窗口添加选项卡相对比较容易,下面说一下 ...

  6. Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据

    Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据 主要是利用 ASPxTreeList 点击事件回发服务器进行数据重新绑定 ASPxTreeList: ? 1 2 &l ...

  7. TabControl控件和TabPage的使用

    TabControl控件和TabPage     TabControl控件搞了两天才弄会,发个简单教程 TabControl控件可以支持在一个控件里面放置多个选项卡,每个选项卡又可以放置多个控件 由于 ...

  8. 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)...

    (一).说明 功能类似Windows 操作系统自带的记事本.  一个WinForm记事本程序(包含主/下拉/弹出 菜单/打开保存对话框等控件用法以及记事本菜单事件的具体代码) (二).图片示例 (三) ...

  9. c#-winform重绘Tabcontrol控件,标签带Logo图标

    模仿网页浏览器标签重绘Tabcontrol控件,每个标签页左上角的Logo图标可以自定义,当然图标也可以挪到右边,直接上图.

最新文章

  1. [bzoj2839]集合计数 题解 (组合数+容斥)
  2. python sum函数numpy_解决Numpy中sum函数求和结果维度的问题
  3. matlab 计算汉明距_matlab实现滑动平均滤波
  4. 计算机平面设计专业有哪些课程,计算机平面设计专业课程有哪些?
  5. ue4序列帧ui_UE4入门之路(UI篇):UI性能优化
  6. Flutter基础—定位对齐之中心定位
  7. Koa中使用art-template模板引擎,以及如何接受post请求等
  8. OpenCV实现基于图像内容检索--视频播放(上)
  9. python十大重点_你见过的最全面的 Python 重点
  10. SI9000阻抗计算安装教程
  11. HTML5网页设计基础——图标导航栏
  12. 2021数学建模国赛b题思路总结
  13. 数据分析师系列课程 统计学基础1
  14. android 手机屏幕实际大小,揭秘手机屏幕误区 大尺寸≠大可视面积
  15. python鼠标画点连线_浅谈画点连线的步骤以及注意事项
  16. WebStorm、HBuilder代码美化快捷键
  17. 软件系统上线前演示剧本
  18. 关于农业害虫解决的6个办法
  19. 高质量外链的十大特性
  20. BLDC无刷直流电机之电机驱动的组成

热门文章

  1. canvas做的图片查看器1
  2. Akamai托管服务应对多重网络性能挑战
  3. 进度条的另外一种用法
  4. 使MySQL 支持繁体字
  5. Nginx 入门级配置
  6. 认识flex中的sprite
  7. Jean Hsu:当女软件工程师的那些好处
  8. android 获取apk中的素材图片
  9. 三十分钟掌握STL(Using STL)
  10. 2017.8.30 elasticsearch-sql的安装与使用