![]() |
Wie bekomme ich ein TCustomControl transparent?
Mal wieder zu meinem runden Button: ich habe ihn von TCustomControl abgeleitet, damit ich solche Dinge wie DoubleBuffered nutzen kann. Leider bekomme ich es nur unter Verwendung einer Maske hin, ihn transparent zu zeichnen, was ihn aber am Rand wieder pixelig aussehen lässt. Das muss doch auch anders gehen, oder? TransparentColor, ControlStyle - [csOpaque] etc. haben alle nichts gebracht :cry:
|
Re: Wie bekomme ich ein TCustomControl transparent?
Hallo, kannst du das Control nicht mit WS_EX_Transparent transparent machen?
Delphi-Quellcode:
type
TDeinButtonControl = class(TCustomControl) public procedure CreateParams(var Params: TCreateParams); override; constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; //.. procedure TDeinButtonControl.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.ExStyle := Params.ExStyle+WS_EX_TRANSPARENT; // Evtl ControlStyle := ControlStyle-[csOpaque]; end; |
Re: Wie bekomme ich ein TCustomControl transparent?
Danke, aber das bringt leider nichts (wie bereits gesagt, ControlStyle hatte ich auch schon versucht).
|
Re: Wie bekomme ich ein TCustomControl transparent?
Zitat:
Hast du auch schon mit WM_ERASEBKGND gespielt? |
Re: Wie bekomme ich ein TCustomControl transparent?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz