mikrocontroller.net

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


Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Robelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: OlliK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: HD_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Gruß

Autor: OlliK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: abeckers (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.