Как установить название CPropertyPage в Волшебном способе

Я пытаюсь установить название CPropertyPage динамично в форме MFC. Эта форма создается с волшебным способом. Вот мой код. Этот код собирает, и пробег не устанавливает название. Как я могу установить название волшебных окон?

BOOL MyForm::OnSetActive()
{
    CPropertySheet* pWnd = (CPropertySheet*) GetParent();
    pWnd->SetTitle(L"My Title",PSH_PROPTITLE);  
    return CPropertyPage::OnSetActive();
}
0
nl ja de
@cha/dwo - Я должен изменить название волшебного окна. Если я добавляю этот код под событием щелчка кнопки, Он хорошо работает. Я думаю переписывание изменения названия названием по умолчанию снова, если я называю это в OnSetAvtive() , но даже я попробовал это изменение, вставленное, чтобы OnInitDialog() и DoDataExchange() также. но couldn' t заставляют его работать. Какая-либо идея постараться не переписывать названием по умолчанию, после того, как установлено это или который событие диалога я должен использовать?Thank you
добавлено автор Nayana Adassuriya, источник
вы обычно создаете страницу с названием и подзаголовком, приложенным к ним, например, ваш MyForm был бы создан как это: MyForm *pForm = CMyPropertyPage (idTemplate, idCaption, idHeaderTitle, idHeaderSubTitle). Посмотрите Конструктора страницы свойств здесь: msdn.microsoft.com/en-US/library/y9a2ksw2%28v=vs.80%29.aspx
добавлено автор cha, источник
не делайте пропущенного вызова CPropertyPage:: OnSetActive ();. или если вы, которых вы хотите назвать методом базовых классов, назовите его как первое заявление, как это: интервал iRet = CPropertyPage:: OnSetActive ();///делают некоторый другой материал///; возвратите iRet;
добавлено автор cha, источник
Вы пытаетесь установить название страницы свойств или окно свойств? Ваш вопрос для страницы, код пробует его за лист.
добавлено автор dwo, источник

1 ответы

Попытайтесь сделать это на событии 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);
    }
}
1
добавлено
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest