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.

posted @ 2013-04-27 10:53  Tup  阅读(6410)  评论(0)    收藏  举报