最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

TabControl控件的简单使用-添加tab

来源:博客园


【资料图】

1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个Tab Control 控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tab

  1. 在资源中插入两个对话框,作为Tab Control控件切换的界面,然后必须将这两个对话框的Border属性设置为None,Style设置为Child,可以在这两个页面中添加自己的控件,稍后会在Tab Control 控件添加这两个测试页,为创建的两个对话框建立两个MFC类,CObjInfoDlg1,CObjInfoDlg2,添加类的方法:右击对话框界面,在弹出框中选择添加类;
  1. 在主对话框类中添加

  2. 在主对话框类中实现virtual BOOL OnInitDialog();重写以增加对话框的初始化

BOOL CDlgDemoV1::OnInitDialog(){CDialogExt::OnInitDialog();// TODO:  在此添加额外的初始化// 初始化tabctrlm_tab.InsertItem(0, _T("测试页面1"));m_tab.InsertItem(1, _T("测试页面2"));// 创建两个对话框m_page1.Create(OBJ_INFO_PAGE1, &m_tab);m_page2.Create(OBJ_INFO_PAGE2, &m_tab);//设定在Tab内显示的范围CRect rc;m_tab.GetClientRect(rc);rc.top += 20;rc.bottom -= 0;rc.left += 0;rc.right -= 0;m_page1.MoveWindow(&rc);m_page2.MoveWindow(&rc);//把对话框对象指针保存起来pDlg[0] = &m_page1;pDlg[1] = &m_page2;//显示初始页面pDlg[0]->ShowWindow(SW_SHOW);pDlg[1]->ShowWindow(SW_HIDE);//保存当前选择m_CurSelTab = 0;return TRUE;  // return TRUE unless you set the focus to a control// 异常: OCX 属性页应返回 FALSE}
  1. 添加切换tab事件
void CDlgDemoV1::OnTcnSelchangeObjTab(NMHDR* pNMHDR, LRESULT* pResult){// TODO: 在此添加控件通知处理程序代码//把当前的页面隐藏起来pDlg[m_CurSelTab]->ShowWindow(SW_HIDE);//得到新的页面索引m_CurSelTab = m_tab.GetCurSel();//把新的页面显示出来pDlg[m_CurSelTab]->ShowWindow(SW_SHOW);*pResult = 0;}
  1. 结果

关键词: 显示出来 当前选择 处理程序