Как скрыть свой лист?
У меня был соответствующий лист, где я столкнулся с проблемой скрытия листа. Я кратко объясню, что я сделал.
В 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
делает. Но в фоновом листе все еще существует.
То же самое я попробовал с диалоговым приложением, там оно работает, как и ожидалось, как, фоновое окно скрыто и отображается только окно сообщения.
Больше подробностей:
И теперь, когда я нажимаю "Готово", лист должен быть скрыт и должен отображать окно с сообщением примерно так:
Может кто-нибудь, пожалуйста, дайте мне знать, как можно добиться этого в правильном листе мастера.
1 ответ
Вы пытаетесь скрыть PropertyPage, а не PropertySheet.
Делай как это.
CPropertySheet* prop = (CPropertySheet*)GetParent();
ShowWindowAsync(prop->m_hWnd, SW_HIDE);