MFC - Überschrift bei CPropertyPage setzen?

Gast #199668
Lesenswert?

Hallo,
ich habe folgendes Problem:

In einem Property-Sheet habe ich mehrere Pages
(CPropertyPage,(=Dialogboxen von CPropertyPage abgelitten)).

Ich möchte die Title der Pages zumindest vor Aufruf des sheets ändern
können.

In einer Dialogbox macht man das üblicherweise mit
SetWindowText("blablub"). Bei den Pages hat das aber Null Wirkung.

Ich such mir ehrlich gesagt schon einen Wolf, wie dies zu
berwerkstelligen ist.

Wer hat eine Idee?

Grüße
Oliver
Gast #199669
Lesenswert?

Versuchs mal mit der Membervaiablen m_pPSP->pszTitle. Wenn Du im
Konstruktor der von CPropertyPage abgeleiteten Klasse in dieser
Member-Variablen den LPCSTR auf Deinen gewünschten Namen setzt, müsste
es eigentlich funktionieren.
Gast #199670
Lesenswert?

Hi,
muß so heißen:
m_psp.pszTitle
Danke nochmal, geht aber auch nicht. Wenn die Page mit AddPage() in
PropertySheet eingesaugt wird, wird der Titel genommen, der zuvor
einmal festgelegt wurde. Ich habe das anders gelöst. Verwende einen
anderen Konstruktor für die Page, der die ID des Strings aufnimmt und
zur Basisklasse weiterreicht. Damit gehts.

Grüße
Oliver
Gast #199672
Lesenswert?

>...schon probiert ???
Jaaaaaa, siehe ersten Beitrag.
Aber wie schon geschrieben. Anderer Konstruktor und  Titel-String als
Resource übergeben, dann klappts auch mit der Einbindung in ein
Property-Sheet.


Grüße
Oliver
Gast #199673
Lesenswert?

So gehts auf jeden Fall nachträglich:
(Einfach z.b. in die Funktion ShowWindow vom PropertySheet einbauen)

CTabCtrl* pTab = GetTabControl();
ASSERT (pTab);

TC_ITEM ti1;
ti1.mask = TCIF_TEXT;
ti1.pszText = _T("HALLO");
VERIFY (pTab->SetItem (0, &ti1));


UNd schon steht da ein schönes HALLO als Überschrift :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren