【问题标题】:How to hide propertysheet?如何隐藏属性表?
【发布时间】:2023-03-19 06:20:01
【问题描述】:

我有一个属性表,我在隐藏该表时遇到了问题。我将简要解释我做了什么。

在 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 所做的。但在后台工作表仍然存在。

我尝试了一个基于对话框的应用程序,它按预期工作,后台窗口被隐藏,只显示消息框。

更多详情:

现在当我点击完成时,工作表应该被隐藏并应该显示一个类似这样的消息框,

谁能告诉我如何在属性表向导中实现这一点。

【问题讨论】:

    标签: mfc cpropertysheet


    【解决方案1】:

    您试图隐藏 PropertyPage 而不是 PropertySheet。

    这样做。

    CPropertySheet* prop = (CPropertySheet*)GetParent();
    ShowWindowAsync(prop->m_hWnd, SW_HIDE);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      相关资源
      最近更新 更多