CFont bei Static-Steuerelement
-
Hallo,
ich habe ein Programm geschrieben, mit dem ich über "Maus-Ziehen" die Große eines Static-Steuerlements verändern kann. Da ich den Text des Steuerelemts im gleichen Verhältnis zu seiner Gesamtgröße ebenfals verändern möchte, habe ich OnPaint() mit folgendem Code überschrieben:
GetDlgItem(ID_MYSTATIC)->GetClientRect(&rect); int h = rect.Height(); int w = rect.Width(); font.CreateFont(h, w, 0, 0, FW_NORMAL, 0, TRUE, 0, DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, "Arial"); GetDlgItem(ID_MYSTATIC)->SetFont(&font);Das Problem ist nun, dass wenn ich die Größe des Static-Steuerelements verändere, der urprüngliche Text in ihm verschwindet.
Jemand eine Idee?
-
Vielleicht fehlt nur ein GetDlgItem(ID_MYSTATIC)->RedrawWindow(); ?
-
Hab's gerade mit RedrawWindow(), UpdateWindow() und font.DeleteObject() versucht - ergebnislos!

-
Mmhhh, Schade.
Dein Static-Text fängt aber nicht zufälligerweise mit einem Leerzeichen an, oder ?
-
...Asche auf mein Haupt

ich hatte an anderer Stelle das Static-Steuerelement zuvor modifiziert mit
GetDlgItem(ID_MYSTATIC)->ModifyStyle(SS_BITMAP, SS_BLACKFRAME);Kein Wunder, dass das nicht ging. Jetzt ist alles paletti!