ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
5260
5260
EMPFEHLEN
-
Hallöchen
Noch ein Problemchen.
Ich krieg es nicht hin in MFC mehreren Static Texten verschiedene Schriftgrössen zuzuordnen und diese Texte zu laufzeit sichtbar-unsichtbar zu setzen.
Hab schon mal bei codeguru und codeproject was gefunden, hat aber nicht klappen wollen.
Danke für eure Hilfeweissnichtmalwasichnichtweiss
-
17.08.05 20:49 #2
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Mit SendMessage kannst du WindowsMessages an ein Fenster schicken, in C++ (MFC) ist ein Element (Static Text, Button, Edit Feld) genau das selbe wie ein Fenster.
Text setzen, lesen:
WM_SETTEXT, WM_GETTEXT
Zeigen, nich zeigen:
WM_SHOW, WM_HIDE
und und und. Kannst ja mal in der MSDN gucken was es da so alles gibt.
mfg
umbrasaxum
-
Vergib an deine Static-Controls ein eindeutige ID (also nicht IDC_STATIC, wie defaultmäßig verwendet) und weise mit dem Klassenassistenten eine Member-Variable, z.B. "m_staticTextXY", zu. Außerdem benötigst du noch eine Membervariable für den neuen Font, z.b: "CFont m_fontTextXY;"
Die Textgröße kannst du dann wie folgt ändern:
Code :1 2 3 4 5 6 7 8 9 10 11
// Aktuellen Font holen CFont *pFont = m_staticTextXY.GetFont(); LOGFONT lf; pFont->GetLogFont(&lf); // Schriftgröße ändern lf.lfHeight += 50; // Neuen Font erzeugen und zuweisen m_fontTextXY.CreateFontIndirect(&lf); m_staticTextXY.SetFont(&m_fontTextXY);
Sichbar/unsichtbar funktioniert so:
Code :1 2
m_staticTextXY.ShowWindow(SW_SHOW); // Sichtbar m_staticTextXY.ShowWindow(SW_HIDE); // Unsichtbar
"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
Hat soweit geklappt! danke!
Nun sind die texte noch Grau hinterlegt.
Hätte es aber lieber weiss da ich ein bild im Hintergrund habe.
Mit Transparent klappt es nicht.
Jemand ne Ideeweissnichtmalwasichnichtweiss
-
Zum Setzen der Hintergrundfarbe musst du WM_CTLCOLOR verarbeiten:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// im Header CBrush m_brush // Brush für Hintergrundfarbe COLORREF m_crWhite // Farbwert // im Konstruktor m_crWhite = RGB(255,255,255); // weiss m_brush.CreateSolidBrush(m_crWhite); // WM_CTLCOLOR verarbeiten HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { switch( pWnd->GetDlgCtrlID() ) { case IDC_MYSTATIC: pDC->SetBkColor(m_crWhite); return (HBRUSH)m_brush; // ggf. weitere Zweige } return CDialog::OnCtlColor(pDC,pWnd,nCtlColor); }"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
Ähnliche Themen
-
MFC: Static Text nachträglich ändern.
Von DerSiebte im Forum C/C++Antworten: 2Letzter Beitrag: 03.12.08, 17:02 -
VC++ Static Text ändern
Von HansJ im Forum C/C++Antworten: 2Letzter Beitrag: 03.04.06, 12:31 -
Image sichtbar/unsichtbar machen
Von Vatar im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 30.09.05, 13:48 -
Static Text (Text Control) -> Farbe,Grösse ?
Von Indian im Forum C/C++Antworten: 1Letzter Beitrag: 16.06.04, 08:29 -
Text Struktur sichtbar machen?
Von mike_kk im Forum Cinema 4DAntworten: 2Letzter Beitrag: 03.07.03, 21:04





Zitieren
Login






