Titel von ProperyPages beschriften
-
Hallo
Ich komme nicht weiter bei meinem Problemm. Ich habe ein PropertySheet mit mehreren PropertyPages. Nun möchte ich aus sprachlichen Gründen den Titel (Caption) abändern. Den bisherigen Titel kann ich problemlos mit
GetWindowText(cs)auslesen, aber wenn ich danach den neuen String mit
SetWindowText(cs)schreiben möchte, bleibt alles beim alten. Auch wenn ich RedrawWindow anwende, ändert sich nichts.
Was kann ich tun, um den Titel zu ändern?
-
Nach einer Weile Suchen habe ich nun doch eine Lösung gefunden. Vielleicht kann sie ja auch mal jemand gebrauchen:
Setting the window title of a CPropertyPage
Problem: You want to set the window title (caption) of a property page (or wizard page) using SetWindowText but it doesn't work. You can specify the title of a CPropertyPage in its dialog resource, but you can't modify it at run-time using the usual SetWindowText.Solution: Instead, use the property page's PROPSHEETPAGE object (via GetPSP()) to set the title. The page's constructor is a good place to do this. For example:
CInfoDlg::CInfoDlg() : CProperyPage(CInfoDlg::IDD) { static char szTitle[96]; _snprintf(szTitle, 96, "Welcome %s", (LPCSTR)m_strUserName); this->GetPSP().dwFlags |= PSP_USETITLE; this->GetPSP().pszTitle = szTitle; }See Microsoft Knowledge Base Article Q141487 for more information.
Keywords: CPropertyPage, SetWindowText, PROPSHEETPAGE
-
Das war meine Rettung!!!

Ich dachte schon ich schaff das nie.Thx!

Greez
-
Leider gibt es GetPSP() in VC++ 6.0 noch nicht

Gibt es eine andere Mgl., den Titel der Property Page zu ändern?Edit bion statt über GetPSP jetzt über die Variable m_psp gegangen.
this->m_psp.dwFlags |= PSP_USETITLE;
this->m_psp.pszTitle = (LPCSTR)"test";Das ganze wird in der OnSetActive() aufgerufen, aber am dargestellten Titel tut sich nix. Muss ich mit irgend einer Funktion neuzeichnen lassen oder ähnliches?
-
bei mir tuts indem ich den titel direkt im konstruktor meines property sheets setzte:
m_pageWelcome.m_psp.dwFlags |= PSP_DEFAULT | PSP_USETITLE; m_pageWelcome.m_psp.pszTitle = MAKEINTRESOURCE(nIDCaption);
-
Danke, das klappt jetzt.