シートを非表示にする際に問題に直面しているプロパティシートがありました。私が行ったことを簡単に説明します。
PropertySheet OnWizardFinish() で、シートを非表示にして次のことを実行しようとしています。
BOOL CSecondEditpage::OnWizardFinish()
{
BOOL bAsyRet = ShowWindowAsync(m_hWnd,SW_HIDE);
int MsgRet = ::MessageBox(NULL,L"Do you want to restart",L"Test",MB_YESNO | MB_ICONINFORMATION);
if(IDYES == MsgRet)
{
SystemRestart();
}
else
{
//Do Nothing..
}
return CPropertyPage::OnWizardFinish();
}
したがって、ここではメッセージボックスのみを表示し、シートを非表示にする必要があります。これは私が期待していることShowWindowAsync
ですが、バックグラウンドシートにはまだ存在します。
ダイアログベースのアプリケーションで試したのと同じことは、バックグラウンドウィンドウが非表示になり、メッセージボックスのみが表示されるように、期待どおりに機能しています。
詳細については:
そして、[完了] をクリックすると、シートが非表示になり、次のようなメッセージ ボックスが表示されます。
プロパティシートウィザードでこれを達成する方法を教えてください。