Щ á
е Property1
Tab Control 2 Class Wizard Tab Control CTabCtrl CProperty1Dlg::OnInitDialog()
// п к
m_tab.InsertItem( 0, _T("Tab1") );
m_tab.InsertItem( 1, _T("Tab2") );
//
m_button2.ShowWindow( SW_HIDE );
ClassWizard Tab Control TCN_SELCHANGE У CWnd::ShowWindow
void CProperty1Dlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
//GetCurSel е 0
int sel = m_tab.GetCurSel();
switch(sel)
{
case 0:
m_button1.ShowWindow( SW_SHOW );
m_button2.ShowWindow( SW_HIDE );
break;
case 1:
m_button2.ShowWindow( SW_SHOW );
m_button1.ShowWindow( SW_HIDE );
break;
}
*pResult = 0;
}
к
е б
ClassWizard CWnd ShowWindow DDX DDV Щ
Щ Щ У д 鷳 п з У Щ С
е Property2
У MFC CPropertySheet CPropertyPage С
Caption Style Child Border Thin Title Bar Щ м
CPropertyPage С CPropertySheet
CPropertySheet sheet(" ");
CPage1 page1;
CPage2 page2;
//
sheet.AddPage(&page1);
sheet.AddPage(&page2);
// Create μ MSDN
sheet.DoModal();
Ч
з CPropertySheet CPropertySheet
е Property3
Щ е CPropertyPage С
CPropertySheet CMySheet button CMySheet м CButton m_button
CMySheet е OnInitDialog() д
BOOL bResult = CPropertySheet::OnInitDialog();
// С
CRect rectWnd;
GetWindowRect(rectWnd);
//
SetWindowPos(NULL, 0, 0,rectWnd.Width() + 100,rectWnd.Height(),SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
CRect rectButton(rectWnd.Width() + 25, 25,rectWnd.Width()+75, 75);
// ó
m_button.Create("Button", BS_PUSHBUTTON, CRect(rectWnd.Width(), 25,rectWnd.Width()+75, 50) , this, 1);
//
m_button.ShowWindow( SW_SHOW );
CenterWindow();
return bResult;
Ч
÷ м 鷳 ± ó λ С м е
е Property4
CPropertySheet
е п Щ
CPropertySheet m_sheet Щ m_page1 m_page2
OnInitDialog() м
//
m_sheet.AddPage(&m_page1);
m_sheet.AddPage(&m_page2);
// Create
m_sheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT);
RECT rect;
m_sheet.GetWindowRect(&rect);
int width = rect.right - rect.left;
int height = rect.bottom - rect.top;
// С λ
m_sheet.SetWindowPos(NULL, 20, 50, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
Ч
м Щ е У ÷