プロジェクトに CPropertySheet ベースのアプリケーションを使用したかったのですが、CPropertySheet クラスに付属するデフォルトの [OK]、[キャンセル]、[ヘルプ]、および [適用] ボタンは必要ありませんでした。したがって、OnInitDialog でこれらのウィンドウを破棄しました。参照用のコードは次のとおりです。
BOOLCProductUI::OnInitDialog()
{
CPropertySheet::OnInitDialog();
CRect rect;
CButton *pTempBtn;
CButton SaveChanges;
pTempBtn = reinterpret_cast<CButton *>(GetDlgItem(IDHELP));
if (NULL != pTempBtn)
{
pTempBtn->GetWindowRect(&rect);
pTempBtn->DestroyWindow();
}
pTempBtn = reinterpret_cast<CButton *>(GetDlgItem(IDOK));
if (NULL != pTempBtn)
{
pTempBtn->DestroyWindow();
}
pTempBtn = reinterpret_cast<CButton *>(GetDlgItem(IDCANCEL));
if (NULL != pTempBtn)
{
pTempBtn->DestroyWindow();
}
pTempBtn = reinterpret_cast<CButton *>(GetDlgItem(ID_APPLY_NOW));
if (NULL != pTempBtn)
{
ScreenToClient(&rect);
pTempBtn->MoveWindow(rect);
pTempBtn->SetWindowText(_T("Save Changes"));
}
UpdateData(FALSE);
return TRUE;
}
CProductUI は CPropertySheet のクラスです。
ただし、デバッグ モードで VC++2008 を使用してプログラムをコンパイルすると、
「CPropertySheet::OnInitDialog();」行に Debug Assertion Failed エラー メッセージが表示され
ます。