お世話になります。VC2005+MFC8.0+WinXPで開発をしております。
プロパティシートを使ったPSH_WIZARD97スタイルのWizardで[次へ]ボタンを無効化したいのですが、IDOKを指定してEnableWindowすればいいのかとおもいきや、うまくいきませんでした、(IDCANCELでキャンセルボタンの無効化は可能でした)
どなたかご教授お願いいたします。
次へのIDはID_WIZNEXTでは?
Wizardのボタンを制御するにはCPropertySheet::SetWizardButtons()を使うんじゃなかったっけ?
http://msdn.microsoft.com/ja-jp/library/ex7e7b4s(VS.80).aspx
Spy++でウインドウIDを調べ、MFCのソースを検索しました。
確かにIDOKでなく、GetDlgItem(ID_WIZNEXT)でコントロールは取得できましたが、
EnableWindow(FALSE)しても無効化されないようです。
(SetWindowText("XXX")としたらテキストは変更できました。。。)
SetWizardButtonsにつきましては、[次へ]ボタンを表示させたまま無効化
させなくてはならないので、つかえないのです。。。
自己レスです。
実はSetWizardButtonsは、[戻る][次へ]ボタンに関しては、
表示の有無ではなく、有効/無効の制御をするものでした。
つまり、両ボタンは必ず表示され、指定しないボタンは、
無効化されるだけです。
ちなみに、ドキュメントからはこの動きは読み取れませんでした。
先入観とは怖いものです。。。
ツイート | ![]() |