0

シートを非表示にする際に問題に直面しているプロパティシートがありました。私が行ったことを簡単に説明します。

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ですが、バックグラウンドシートにはまだ存在します。

ダイアログベースのアプリケーションで試したのと同じことは、バックグラウンドウィンドウが非表示になり、メッセージボックスのみが表示されるように、期待どおりに機能しています。

詳細については: ここに画像の説明を入力

そして、[完了] をクリックすると、シートが非表示になり、次のようなメッセージ ボックスが表示されます。 ここに画像の説明を入力

プロパティシートウィザードでこれを達成する方法を教えてください。

4

1 に答える 1