Tab Control控件使用

①拖一个Tab Control到对话框上并添加变量m_tabCtrl;



②添加两个对话框资源IDD_DIALOG1,IDD_DIALOG2并将style为Child, Border为None,再分别为其添加对应的基于CDialog m_page1,m_page2


③在"项目名Dlg.h" 中,

添加“:

#include "m_page1.h"
#include "m_page2.h"


在类的"public”最后(即"protected:“前)添加:

m_page1  m_page1;
m_page2  m_page2;


④在"项目名Dlg.cpp" 中的OnInitDialog()添加如下代码

//添加选项卡名称
	m_tabCtrl.InsertItem(0, L"直接输入");
	m_tabCtrl.InsertItem(1, L"文件输入");

	//设置IDC_TAB1为父窗口
	m_page1.Create(IDD_DIALOG1, GetDlgItem(IDC_TAB1));
	m_page2.Create(IDD_DIALOG2, GetDlgItem(IDC_TAB1));

	//获得IDC_TABTEST客户区大小
	CRect rc;
	m_tabCtrl.GetClientRect(&rc);

	//调整子对话框在父窗口中的位置
	rc.top += 30;
	rc.bottom -= 8;
	rc.left += 8;
	rc.right -= 8;

	//设置子对话框尺寸并移动到指定位置
	m_page1.MoveWindow(&rc);
	m_page2.MoveWindow(&rc);

	//分别设置隐藏和显示
	m_page1.ShowWindow(true);
	m_page2.ShowWindow(false);

	//设置默认的选项卡
	m_tabCtrl.SetCurSel(0);

⑤双击Tab Control控件,在转入的函数中如下编辑代码:

void CSHA512Dlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO:  在此添加控件通知处理程序代码
	int CurSel = m_tabCtrl.GetCurSel();

	switch (CurSel)
	{
	case 0:
		m_page1.ShowWindow(true);
		m_page2.ShowWindow(false);
		break;
	case 1:
		m_page1.ShowWindow(false);
		m_page2.ShowWindow(true);
		break;
	}
	*pResult = 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC(Microsoft Foundation Classes)提供了Tab Control类来实现选项卡控件Tab Control是一种常见的界面布局,可以在一个窗口切换显示不同的内容。 要在MFC应用程序使用Tab Control,可以按照以下步骤进行操作: 1. 在资源编辑器将一个Tab Control控件添加到你的对话框或窗口。可以在工具栏上找到Tab Control控件,并将其拖放到对话框或窗口的位置。 2. 在类视图找到对应的对话框类,并添加一个成员变量来控制Tab Control控件。右键单击对话框类,在上下文菜单选择"Add Variable"。在对话框变量向导,选择Tab Control控件,并为其添加一个成员变量。 3. 在对话框的OnInitDialog()函数使用Tab Control控件的成员变量来设置选项卡的标签和关联的对话框或窗口。可以使用TabCtrl_InsertItem()函数添加选项卡,使用TabCtrl_SetCurSel()函数设置当前选的选项卡。 4.为每个选项卡关联一个对话框或窗口,以便在切换选项卡时显示相应的内容。可以使用Create()函数创建对应的对话框或窗口,并使用ShowWindow()函数显示或隐藏对话框或窗口。 5. 可以在选项卡切换时处理相应的消息,以便在切换选项卡时执行一些操作。可以在对话框类的OnSelChange()函数处理WM_NOTIFY消息,使用TabCtrl_GetCurSel()函数获取当前选的选项卡索引,并根据需要执行相应的操作。 以上是使用MFC Tab Control的基本步骤,你可以根据自己的需求进行进一步的定制和扩展。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值