我试图以MFC形式动态设置CPropertyPage的标题。此表单是使用向导模式创建的。这是我的代码。此代码编译并运行不会设置标题。如何设置向导窗口的标题?

BOOL MyForm::OnSetActive()
{
    CPropertySheet* pWnd = (CPropertySheet*) GetParent();
    pWnd->SetTitle(L"My Title",PSH_PROPTITLE);
    return CPropertyPage::OnSetActive();
}

最佳答案

尝试在事件WM_SHOWWINDOW上执行此操作。在我的代码中,它的工作方式如下:

void CPropSIni::OnShowWindow(BOOL bShow, UINT nStatus)
{
    CPropertyPage::OnShowWindow(bShow, nStatus);

    CNodeSheet* pSheet = (CNodeSheet*)GetParent();
    if ( (bShow==TRUE) && (pSheet->IsWizard()) )
    {
        CString strTemp;
        pSheet->GetWindowText(strTemp);

        CString strCaption;
        strCaption = CustomFormat(CART_CAPTION_FORMAT_ADD, 2, strTemp, pSheet->m_Name);

        CPropertyPage::OnSetActive();
        pSheet->SetTitle(strCaption);
    }
}

10-08 09:25