MFC Tab 控件使用

这篇具有很好参考价值的文章主要介绍了MFC Tab 控件使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 新建一个基于 dialog 的空 MFC 工程

MFC Tab 控件使用

2. 添加两个新的对话框作为子对话框

MFC Tab 控件使用

MFC Tab 控件使用

MFC Tab 控件使用 

接下来两步,每个子对话框都要操作:

2.1 设置各子对话框属性为 "child, none"

MFC Tab 控件使用

2.2 给各对话框生成对应的对话框类:

MFC Tab 控件使用

MFC Tab 控件使用

3. 在父对话框的头文件中 include 两个子对话框类的头文件并添加两个子对话框的成员变量

MFC Tab 控件使用

MFC Tab 控件使用

4. 在父对话框中添加 Tab 控件并添加此 Tab 控件成员变量

MFC Tab 控件使用MFC Tab 控件使用

5. 在父对话框 initial 函数中添加如下代码 

MFC Tab 控件使用

    CRect tabRect;   // 标签控件客户区的位置和大小  
	
	m_tab_mainDlg_ct.InsertItem(0, _T("Tab Dialog1"));			// 插入第一个标签“Tab Dialog1”  
	m_tab_mainDlg_ct.InsertItem(1, _T("Tab Dialog2"));			// 插入第二个标签“Tab Dialog2”  

	m_tabDlg1.Create(IDD_DIALOG_TABDLG1, &m_tab_mainDlg_ct);    // 创建第一个标签页  
	m_tabDlg2.Create(IDD_DIALOG_TABDLG2, &m_tab_mainDlg_ct);	// 创建第二个标签页  

	m_tab_mainDlg_ct.GetClientRect(&tabRect);    // 获取标签控件客户区Rect  
	// 调整tabRect,使其覆盖范围适合放置标签页  
	tabRect.left += 1;
	tabRect.right -= 1;
	tabRect.top += 25;
	tabRect.bottom -= 1;
	// 根据调整好的tabRect放置m_jzmDlg子对话框,并设置为显示  
	m_tabDlg1.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
	// 根据调整好的tabRect放置m_androidDlg子对话框,并设置为隐藏  
	m_tabDlg2.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);

6. 给 Tab 控件添加 TCN_SELCHANGE 通知消息及编写其处理函数 

 MFC Tab 控件使用

MFC Tab 控件使用

 TCN_SELCHANGE 消息处理函数中添加代码如下:文章来源地址https://www.toymoban.com/news/detail-474788.html

	CRect tabRect;    // 标签控件客户区的Rect  

	// 获取标签控件客户区Rect,并对其调整,以适合放置标签页  
	m_tab_mainDlg_ct.GetClientRect(&tabRect);
	tabRect.left += 1;
	tabRect.right -= 1;
	tabRect.top += 25;
	tabRect.bottom -= 1;

	switch (m_tab_mainDlg_ct.GetCurSel())
	{
		// 如果标签控件当前选择标签为“Tab Dialog1”,则显示m_tabDlg1对话框,隐藏m_tabDlg2对话框  
	case 0:
		m_tabDlg1.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
		m_tabDlg2.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
		break;
		// 如果标签控件当前选择标签为“Tab Dialog2”,则显示m_tabDlg2对话框,隐藏m_tabDlg1对话框  
	case 1:
		m_tabDlg1.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
		m_tabDlg2.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW);
		break;
	default:
		break;
	}

到了这里,关于MFC Tab 控件使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC下CPictureCtrl控件基于鼠标左键坐标的直线绘图

    本文仅供学习交流,严禁用于商业用途,如本文涉及侵权请及时联系本人将于及时删除 目录 1.创建自定义类CMyPictureCtrl 2.布局Dlg 3.实验代码 4.运行结果 在基于对话框的MFC应用程序中,通过鼠标操作获取坐标并在CPictureCtrl控件中使用LineTo()函数画直线,涉及以下几个关键步骤:

    2024年04月25日
    浏览(35)
  • MFC创建和使用OCX控件

    2024年02月13日
    浏览(40)
  • MFC 对话框与控件的使用

    1、 熟悉 Windows 对话框应用程序开发的基本过程; 2、 学习标准控件的使用; 3、 学些 CommonDialog ActiveX 控件的使用; 4、 练习较复杂的交互式操作的控制流程; 5、 练习文件输入/输出流的使用。 实现一个具有一定实用价值的通讯录程序设计。界面如图所示 ①界面的基本设计

    2024年02月05日
    浏览(42)
  • 【MFC】03.常用复杂控件的使用-笔记

    对话框-类向导:初始化函数中,热键需要在最开始的时候就注册进去: 注册热键: 在这之前,先去定义一个宏,代表你这个快捷键。 相应消息: 类向导-添加消息处理:WM_HOTKY消息 全局消息钩子:在所有页面上都可以使用该热键 给空间添加变量m_IP 设置 清除: 获取 添加变

    2024年02月14日
    浏览(38)
  • vs2017 MFC使用TEECHART 控件遇到的问题

    teechart 安装 《TeeChart安装、注册和使用》_GodLei1995-CSDN博客_teechart控件下载 MFC绘制图表《TeeChart安装、注册和使用》_qq_39851127的博客-CSDN博客

    2024年02月07日
    浏览(58)
  • VS2019 MFC Teechart V5.1曲线控件使用方法Teechart Activex V5.1控件绘图控件 动态绘图

    Teechart控件安装注册:          1. 将TeeChart5.ocx 复制到C:WindowsSysWOW64。         2. 找到同目录下的cmd.exe。         3. 右键 管理员身份 打开 ,此刻进入的是system32 (不是管理员打开cmd的话,用win + R的话,会提示模块已加载,但对DllRegisterServer的调用失败)。    

    2024年02月05日
    浏览(80)
  • 基于镜像新建一个容器

    要基于镜像新建一个容器,可以使用 docker run 命令。下面是创建容器的基本语法: 其中, OPTIONS 是可选的参数, IMAGE 是要使用的镜像名称或镜像 ID, COMMAND 是容器启动时要执行的命令, ARG... 是传递给命令的参数。 以下是一些常用的选项(OPTIONS): -d :以后台(守护进程)

    2024年02月09日
    浏览(26)
  • MFC - 给系统菜单(About Dialog)发消息

    做了一个对话框程序, 在系统菜单(在程序上面的标题栏右击)中有\\\"关于\\\"的菜单. 这个是程序框架自带的, 自己没写代码. 这个Dlg程序, 因为简单, 没加啥菜单. 将授权也放到\\\"关于\\\"对话框中一并处理. 怕用户看不到咋进入\\\"关于\\\"菜单, 在UI上加了一个\\\"关于\\\"的按钮. 在这个按钮实现中

    2024年02月03日
    浏览(38)
  • VC6 MFC Dialog as apllication 编程

    MFC框架虽然古老,但编程还是方便多了,在操控界面控件的基础上,平时在Console模式习练的类可以融入到MFC中,开发应用程序还是比较方便的。下图是习练程序的界面。 说明: 一个EDIT框,一个Label框; 当点击 Execute钮时显示 Hello World! 一个ProgressBAR,程序把它放了一个固定位

    2024年02月07日
    浏览(39)
  • MFC第二十四天 使用GDI对象画笔和画刷来开发控件(分页控件选择态的算法分析、使用CToolTipCtrl开发动静态提示)

    CMainDlg.h CMainDlg.cpp CLadderCtrl.h CLadderCtrl.cpp CMainDlg.h CMainDlg.cpp CLadderCtrl.h CLadderCtrl.cpp: 实现文件 本次只添加了与静态提示不同之处的代码 CMainDlg.h CMainDlg.cpp 设置动态文字的函数 CLadderCtrl.h CLadderCtrl.cpp MouseMove 进入任意控件都不会理你 除非回到主窗口范围内 OnSetCursor 不论在什么控

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包