Transparente Button

CodeFatal

Erfahrenes Mitglied
Und noch mal ich...

Also ich hab die Klasse CButton überladen und zeichne mir die Button selber.
auch alles soweit.
Ich würd jetzt aber gerne diese Button Transparent machen.
Dazu benötige ich aber Zugriff auf das was in der OnPaint Methode gezeichnet wird. Jetzt habe ich beim Debuggen aber bemerkt, das erst die obenliegenden Button gezeichnet werden und erst die OnPaint aufgerufen wird. Kann mir nicht wirklich erklären, wie das geht aber dem ist so:-(
Hat jemand vielleicht ne Idee wie ich an die entsprechenden Daten komme?

Gruss Michael
 
Zuletzt bearbeitet:
So das Problem hat sich etwas begrenzt, ich habe jetzt den Zugriff auf die benötigten Daten. Leider wird aber die Stelle wo der Button den Dialog überdeckt nicht Invalidiert oder so... Es wird aufjeden Fall nix gezeichnet. was dann natürlich dazuführt, das die Stelle in der Standard Hintergrundfarbe gemalt wird und es wieder nicht Transparent aussieht:-(
Brauch dringend Hilfe

Gruss Michael
 
Du soltest im Normalfall von der Buttonklasse aus an einen Zeiger zum Parent gelangen ( GetParent(); )

Dann lässt du dir das WIndowRect() von deinem Button geben - wandelst es in die Parent-Koordinaten um und lässt diesen bereich mit parent->RedrawWindow( rectblah, 0, RDW_SONSTWAS); neu zeichnen - wüsste jetzt nicht, wie man das sonst anders machen könnte.

M.f.G. Erik
 
Hi danke für die Antwort.
Das ganze hat sich so gelöst, das ich erst alle Button etc ausschalte , dann die OnPaint aufrufe und anschliesend als letztes in der OnPaint die Button Transparent darstelle. Das ganze aufgrund der Beschaffenheit meiner Dialoge:) Nicht gut aber manchmal ist auch eine Schlechte Lösung eine Lösung:)
Gruss Michael
 
Zurück