Forum: PC-Programmierung MFC - Überschrift bei CPropertyPage setzen?


von Oliver (Gast)


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

von Robelix (Gast)


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.

von OlliK (Gast)


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

von HD_ (Gast)


Lesenswert?

Hi,

mit SetWindowTitle (ich glaub so hiess sie) und SetWindowText hast es
schon probiert ???

Gruß

von OlliK (Gast)


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

von abeckers (Gast)


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 :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.