Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Hintergrundfarbe

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
29.08.2004, 16:30 Uhr
~Schwabi
Gast


Hallo, hab da ein kleines Problem mit der Hintergrundfarbe.
Ich möchte einen weißen Hintergrund, das hab ich mit der Fkt. OnDraw auch schon ganz gut hingekriegt.
Problem ist nur das ich bei der Fkt. OnLButtonDown ständig OnDraw aufrufe, mit Invalidate().
Das führt schließlich dazu das mein Bild bzw. der Hintergrund flimmert (wie wenn mein einen Bildschirm mir ner Kamera aufnimmt und das wieder gibt).
Nun hab ich gedacht das ich den Hintergrund nur einmal erzeuge, aber die Fkt. OnDraw scheint einen standard Hintergrund zu haben wodurch meiner überschrieben wird.

Kann ich den Hintergrund irgendwo anders festlegen ?? Zum Beispiel in OnCreate oder OnInitialUpdate ???

Wenn ja kann mir jemand sagen wie??


Grüße Schwabi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.08.2004, 16:42 Uhr
Spacelord
Hoffnungsloser Fall


Hallo,
der Hintergrund ist doch "standardmässig" weiss!?
Ich kann jetzt gerade nicht so ganz nachvollziehen wo dein Problem ist.
Eventuell schaust du dir mal CWnd::OnCtlColor an.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.08.2004, 16:47 Uhr
~Schwabi
Gast


Bei mir ist er standard mäßig grau. Das is ja der mist. Un da ich MS Paint nachstellen will sollte er auch dynamisch sein.
D.h. ich stell auf ner Farbpalette meinen Hintergrund ein und der is dann halt da, aber leider nur mit flimmern, zu mindest wenn ich dann drauf malen will. Da ich bei links klick und bei Mousemove die Koordinaten abfange und einzeichne (normaler Stift oder Linie bei MS Paint).
Und dabei wird halt ständig auch der Hintergrund neu erstellt. Und bei sonst wievielen moves wundert es mich nich das es zum flimmern kommt.

Aber ich schau mir erst ma CWnd::OnCtlColor an.

Grüße Schwabi.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.08.2004, 16:52 Uhr
~Schwabi
Gast


Wie ich leider grade feststellen muss hilft mir die Fkt. nicht weiter. Die ist nur für irgendwelche Controls (Button, Edit, usw.).

Irgendeine andre Idee???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.08.2004, 17:02 Uhr
Spacelord
Hoffnungsloser Fall


OnEraseBkgnd ?
Wie setzt du denn den Brush für den Hintergrund?

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.08.2004, 17:40 Uhr
~Schwabi
Gast


Hintergrund wird wie folgt gesetzt:

Code:

void CMalenView::OnDraw(CDC* pDC)
{
    CRect te;
    GetClientRect(te);
    te.NormalizeRect();
    CBrush hintergrund;
    hintergrund.CreateSolidBrush(RGB(255, 255, 255));

    pDC->FillRect(te,&hintergrund);



 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.08.2004, 19:17 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Wenn es flimmert kannst du auch PreCreateWindow nehmen

mfg
--
 
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: