自分好みのプロパティーシートを作りたいなら、自分でダイアログの上にモードレスのダイアログを張る方がいい。
ベースダイアログに CTabCtrl をつけて、そのタブコントロールで貼り付けたダイアログを切り替える。
BOOL CMyDialogBase::OnInitDialog() { CDialog::OnInitDialog(); TC_ITEM tc; tc.mask = TCIF_TEXT; tc.pszText = "2次元表示操作パネル"; m_tab.InsertItem(0, &tc); // m_tab はTabctrl m_pDlgPP2D = new CDialog; m_pDlgPP2D->Create(IDD_PP2D, this); m_pDlgPP2D->ShowWindow(SW_SHOW); m_pDlgPP2D->SetWindowPos(...); tc.pszText = "3次元表示操作パネル"; m_tab.InsertItem(1, &tc); m_pDlgPP3D = new CDialog; m_pDlgPP3D->Create(IDD_PP3D, this); m_pDlgPP3D->ShowWindow(SW_HIDE); m_pDlgPP3D->SetWindowPos(...); return TRUE; } // Tab Ctrl の選択が変わったら void CDlgViewCtrl::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult) { switch (m_tab.GetCurSel()) { case 0: m_pDlgPP2D->ShowWindow(SW_SHOW); m_pDlgPP3D->ShowWindow(SW_HIDE); break; case 1: m_pDlgPP2D->ShowWindow(SW_HIDE); m_pDlgPP3D->ShowWindow(SW_SHOW); break; } *pResult = 0; }