Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Farbe eines Rechtecks

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
20.05.2003, 18:08 Uhr
Alois



Ich zeichne in der OnPaint ein Rechteck:

C++:
DWORD m_Farbe;
//...
void CChatDlg::OnPaint()
{
   CPaintDC hDC(this);
   CBrush   Brush;
    //...
    Brush.CreateSolidBrush(m_Farbe);
    hDC.SelectObject(Brush);
    hDC.Rectangle(460, 77, 513, 96);
    //...
}



Dieses m_Farbe ändere ich in einer anderen Prozedur, danach rufe ich OnPaint auf, weil sich die Farbe des Rechtecks sofort ändern soll. Das tut sie aber erst nach einem Minimieren und Wiederherstellen. Ich hab es auch schon mit SendMessage(WM_PAINT, 0, 0) versucht, aber er zeichnet das Rechteck nicht neu.

Dieser Post wurde am 20.05.2003 um 18:09 Uhr von Alois editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.05.2003, 18:24 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ich weiß nicht ob das dein Problem löst, aber WM_PAINT wird per RedrawWindow versandt. Dabei musst du das Flag RDW_INTERNALPAINT setzen.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.05.2003, 22:23 Uhr
Alois



Das hilft leider nicht. Die Message WM_PAINT wird zwar gesendet, also wird auch hDC.Rectanlge ausgeführt, aber die Farbe ändert sich erst, wenn ich das Fenster minimiere und wieder neu herstelle.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.05.2003, 23:42 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


vielleicht geht ja

C++:
this->UpdateWindow();


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.05.2003, 07:56 Uhr
Alois



Nein, das funktioniert auch nicht. Der Grund muss wohl beim GDI liegen, da die Rectangle-Routine ja ausgeführt, aber das Rechteck nicht gezeichnet wird.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: