Customing "Psudo Tab” Control


从前一篇波纹(关于Tab控件的使用)http://www.cnblogs.com/tupx/articles/3041040.html来的启发,我可以自己定制“伪Tab”控件了~‘_’

All we need:主界面上一个可以作为比较位置的控件,即使只是一个STATIC控件。

流程:

1.建立一个基于Diglog的MFC工程Test4Mfc,在主界面上添加2个Button和1个Static控件。

2.建立另外2个对话框Dlg1、Dlg2,界面上只有一句话“Hello,this is Dlg 1.”/“Hello, this is Dlg 2.”

3.给Dlg1、Dlg2关联2个类分别为CDlg1、CDlg2.

4.给Test4MfcDlg.h添加:#include "Dlg1.h"  #include "Dlg2.h",并建立2个成员: CDlg1 m_dlg1;CDlg2 m_dlg2;

5.在Test4MfcDlg.cpp的OnInitDialog()中添加:

	CRect rect;
	GetDlgItem(IDC_STATIC)->GetClientRect(&rect);
	rect.top+=10;
	m_dlg1.Create(IDD_DLG1,GetDlgItem(IDC_STATIC));
	m_dlg2.Create(IDD_DLG2,GetDlgItem(IDC_STATIC));
	m_dlg1.ShowWindow(true);
	m_dlg2.ShowWindow(false);

6.给2个按钮添加事件:

void CTest4MfcDlg::OnBnClickedBtnDlg1()
{
	m_dlg1.ShowWindow(true);
	m_dlg2.ShowWindow(false);
}


void CTest4MfcDlg::OnBnClickedBtnDlg2()
{
	m_dlg1.ShowWindow(false);
	m_dlg2.ShowWindow(true);
}

  效果如下:

 

图1 点击第一个选项卡后的效果

图2 点击第2个选项卡后的效果

关键的一点设置:Dlg1、Dlg2的对话框属性设置:Style:Child;Border:None.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM