VC++ TAB控件内嵌窗口



// tab控件,创建2个页面 m_ctrTab.InsertItem(0, _T("窗口01")); m_ctrTab.InsertItem(1, _T("窗口02")); CRect rc; m_ctrTab.GetClientRect(&rc); rc.top += 24; rc.bottom -= 1; rc.left += 1; rc.right -= 2; // dlgTab01是自己添加的标准窗口类 // 设置tab控件是dlgTab01窗口的父窗口 dlgTab01.Create(IDD_DIALOG4, GetDlgItem(IDC_TAB1)); // dlgTab02是自己添加的标准窗口类 dlgTab02.Create(IDD_DIALOG5, GetDlgItem(IDC_TAB1)); // 设置窗口,在tab控件内的位置 dlgTab01.MoveWindow(&rc); dlgTab02.MoveWindow(&rc); dlgTab01.ShowWindow(SW_SHOW); dlgTab02.ShowWindow(SW_HIDE); //dlgTab02.ShowWindow(SW_SHOW

tab页面切换:

void CDlg01::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int nCurSel = m_ctrTab.GetCurSel();
	switch(nCurSel)
	{
	case 0:
		{
			dlgTab01.ShowWindow(SW_SHOW);
			dlgTab02.ShowWindow(SW_HIDE);
			break;
		}
	case 1:
		{
			dlgTab01.ShowWindow(SW_HIDE);
			dlgTab02.ShowWindow(SW_SHOW);
			break;
		}
	default:
		{
			break;
		}
	}
	*pResult = 0;
}

  

 

子窗口的样式(STYLES属性页面)需要设置

1).窗口的STYLE设置为child

2).窗口的BORDER设置为None

 


免责声明!

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



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