tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
145
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    krenzer krenzer ist offline Mitglied
    Registriert seit
    Apr 2008
    Beiträge
    10
    Hi.

    Ich bin gerade dabei ein Spiel zu programmieren. Das funktioniert jetzt auch schon. Jetzt wollte ich noch ein paar funktionen hinzufügen. Zum Beispiel die Hintergrundfarbe ändern.

    Dazu benutze ich folgenden Code

    Code :
    1
    2
    3
    4
    5
    
    CColorDialog dlg; // Hier wird sie dann beim Aufruf gesetzt
    if (IDOK == dlg.DoModal())
    {
        color = dlg.GetColor(); 
    }

    Wenn ich das nun ausführe, dass heißt eine andere Farbe wähle und auf OK klicke, passiert erst mal nicht, wenn ich dann aber auf ein EditControl gehe, wechselt es die Farbe.

    Wenn ich das Programm dann da Debugge wo der Pfeil ist

    Code :
    1
    2
    3
    4
    5
    
    CColorDialog dlg; // Hier wird sie dann beim Aufruf gesetzt
    if (IDOK == dlg.DoModal())
    {
    --> color = dlg.GetColor(); 
    }

    und dann auf Weiter klicke ändert sich die Hintergrundfarbe wie gewünscht.

    Kann mir irgendjemand sagen warum das nur beim Debuggen funktioniert?

    mfg

    krenzer
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    Ich vermute, dein Edit wechselt die Farbe erst, wenn es neu dargestellt wird. Beim Debuggen hast du ja die IDE im Vordergrund, dadurch wird indirekt immer wieder ein Redraw ausgelöst.

    Einfach nach color = dlg.GetColor ein InvalidateRect auf die Edit ausführen.
     

  3. #3
    krenzer krenzer ist offline Mitglied
    Registriert seit
    Apr 2008
    Beiträge
    10
    Ich hab das jetzt mal schnell ausporbiert. Wenn ich das programm minimiere und dann wieder aufrufe, ist die farbe geändert.

    Nur wie mach ich diese InvalidateRect?

    EDIT:

    Hat sich erledigt. Hab das jetzt schon hinbekommen.

    Vielen Dank für die Hilfe.
    Geändert von krenzer (10.10.08 um 10:21 Uhr)
     

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 27.12.08, 20:32
  2. WHERE funktioniert nicht richtig
    Von sniffler im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 10.12.07, 21:57
  3. LIKE funktioniert nicht richtig!
    Von EvilDivel im Forum PHP
    Antworten: 16
    Letzter Beitrag: 17.11.04, 19:30
  4. PHP funktioniert nicht richtig
    Von Dommas im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 22.09.04, 23:49
  5. Ado funktioniert nicht richtig
    Von Hoffie im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 22.03.04, 08:43