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