tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
5260
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Zeller
    Zeller Zeller ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    26
    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 Hilfe
     
    weissnichtmalwasichnichtweiss

  2. #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
     

  3. #3
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    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

  4. #4
    Avatar von Zeller
    Zeller Zeller ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    26
    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 Idee
     
    weissnichtmalwasichnichtweiss

  5. #5
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    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

  1. MFC: Static Text nachträglich ändern.
    Von DerSiebte im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 03.12.08, 17:02
  2. VC++ Static Text ändern
    Von HansJ im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 03.04.06, 12:31
  3. Image sichtbar/unsichtbar machen
    Von Vatar im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 30.09.05, 13:48
  4. Antworten: 1
    Letzter Beitrag: 16.06.04, 08:29
  5. Text Struktur sichtbar machen?
    Von mike_kk im Forum Cinema 4D
    Antworten: 2
    Letzter Beitrag: 03.07.03, 21:04