私はCPropertyPageクラスから継承するクラスを持っています。私はOnOk()メソッドとOnKillActive()メソッドを持っています。 ダイアログの[OK]を押すたびに。 OnKillActive()は呼び出されますが、OnOk()は呼び出されません。 問題は条件によって異なります.OKを押してダイアログを閉じる必要はありません。しかし、ダイアログはOKを押すと終了します。CPropertyPageダイアログエラーがある場合、OnOkはダイアログを閉じるべきではありません
[OK]を押したときにダイアログが閉じないようにするにはどうすればよいですか?
コード:
In MyClass.h:
class MyClass : public CPropertyPage {
}
In MyClass.cpp:
void MyClass::OnOK(){
if (condition true) {
return; // This should prevent the dialogue from closing but still the dialogue closes
}
return CPropertyPage::OnOk();
}
BOOL MyClass::OnKillActive() {
if (condition true) {
CDialog::DoModal();
return FALSE; // This should prevent the dialogue from closing but still the dialogue closes
}
return CPropertyPage::OnKillActive();
}