プロパティシートのボタンを消したい

[戻る]
lise 2004/01/06(火) 19:47:35
はじめまして。
VC6.0(SP5)、MFCで開発しております。
プロパティシートでダイアログを開発していますが、
ボタンと不要になりました。
OK、キャンセル、適用のボタンは非表示とすることは、
可能でしょうか。

以上、よろしくお願いします。

tib 2004/01/06(火) 21:25:50
PropertySheetへのポインタを「*pSheet」とすると、

CWnd* pWnd = (CWnd*)pSheet->GetDlgItem(IDOK, IDCANCEL, IDAPPLYのどれか);
if(pWnd)    pWnd->EnableWindow(TRUE or FALSE);

でどうでしょう?

tib 2004/01/06(火) 21:27:45
あ、非表示でしたね。
EnableWindowの代わりにShowWindow()を使ってください。

lise 2004/01/06(火) 21:52:01
tibさん、返答ありがとうございます。
早速、試してみましたがうまくいっていません。
以下のようなコーディングをプロパティシートの
OnCreateにしたのですが。

CWnd* pWnd = (CWnd*)this->GetDlgItem(IDOK);
if (pWnd) pWnd->ShowWindow(SW_HIDE);

以上、よろしくお願いします。

sugar 2004/01/07(水) 09:33:57
OnInitDialog()の方が良いと思われます。

ku 2004/01/07(水) 12:39:38
http://mailsrv.nara-edu.ac.jp/~asait/visual_cpp/property/property.htm
こちらの方法はどうでしょうか

ひろぴー 2004/01/07(水) 13:12:15
m_psh.dwFlags で非表示に出来るのはヘルプと適用だけだと思います。
タブコントロールで代用すればどうでしょうか?
簡単だけどコントロールの制御が面倒ですが。

lise 2004/01/07(水) 14:26:20
[[解決]]
OnInitDialog()に前述のコーディングをすることで
OK、キャンセル、適用のボタンを消すことができました。
m_pshではひろぴーさんの言われている通り、
OKとキャンセルは消せないようです。
また、適用ボタンはIDAPPLYではなくID_APPLY_NOWでした。

みなさま、ご回答いただきありがとうございます。
今後ともよろしくお願いします。

古いスレッドには追加発言できません。