Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » "durchsichtiges" CStatic

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
22.05.2007, 18:05 Uhr
mmc20
puss in boots


hi, ich versuch gerade ein "durchsichtiges" control zu erstellen, dh. der hintergrund der view soll noch zusehen sein.
hab also OnEraseBkgnd() überschrieben und mit GDI+ brushes "wild drauflos gemalt", soweit sieht alles gut aus, bis zum neuzeichnen des controls. (da dieses ca. jede sek aktualisert werden soll) muss ja irgend wie den hintergrund "retten" bzw den parent veranlassen das überdeckte rect neuzuzeichnen, wollte das mit "GetParent()->InvalidateRect( &rect, TRUE );" machen, aber wo bzw wann ?

in OnEraseBkgnd() ? da funktionierts nicht, da zeichnet der sich ständig selber neu...

hat jemand ne lösung ?
thx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.05.2007, 20:57 Uhr
xXx
Devil


Hmm wähl einfach im Dialog bei WM_CTLCOLORSTATIC einen NULL_BRUSH aus ... dann geht es
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.05.2007, 17:04 Uhr
mmc20
puss in boots


mh, irgendwie komme ich da zu keinem ergebnis...

der parent ist ein CView, und das abgeleitete CStatic wird zur laufzeit erzeugt ( Create(...) )
evtl klappt da was mit den messages nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.05.2007, 21:40 Uhr
xXx
Devil


Hmm normal sollte es aber reichen wenn du auf OnCtlColor reagierst und da dann halt abfragst, ob es ein Static Control ist.
Da rufst du dann SetBkMode(TRANSPARENT) auf und gibst einen NULL_BRUSH zurück.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.05.2007, 15:35 Uhr
mmc20
puss in boots


naja, ich glaub wir reden an einander vorbei...
das control ist ja kein normales CStatic mit text, sondern ich zeichne da ja selber was rein was halbdurchsichtig ist.
der hintergrund der view ist also schon durch das control zusehen. wird das control jedoch neugezeichnet, wird eben der hintergrund nicht wieder hergestellt, und das control ist dann praktisch mehrmals übereinander gezeichnet.
 
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: