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

1

您试图隐藏 PropertyPage 而不是 PropertySheet。

这样做。

CPropertySheet* prop = (CPropertySheet*)GetParent();
ShowWindowAsync(prop->m_hWnd, SW_HIDE);
于 2014-12-15T06:55:46.047 回答