![]() |
Glyph bei Buttons ist TBitmap, ich brauche TPicture
Einer TImage Komponente kann man ja über die Eigenschaft Picture vom Typ TPicture ein Bild zuweisen.
Es gibt die Möglichkeit nicht unterstützte Dateitypen zu implementieren.
Delphi-Quellcode:
Damit kann dann die TImage Komponente (und alle Komponenten die TPicture verwenden) auch diese Grafikformate verarbeiten.
TPicture.RegisterFileFormat('PNG', 'Portable Network Graphics', TPNGObject);
Bei einem TBitBtn, TSpeedButton, ... ist die Eigenschaft Glyph vorhanden. Mit dieser Eigenschaft kann dem Button ein Bild zugewiesen werden. Dummerweise ist Glyph vom Typ TBitmap.
Delphi-Quellcode:
Die TImage Komponente verwendet ein TPicture.
TBitBtn = class(TButton)
... property Glyph: TBitmap read GetGlyph write SetGlyph stored IsCustom; ...
Delphi-Quellcode:
Da ich aber *.png Grafiken mit Alpha Blending verwenden möchte um die Icons unabhängig von dem gewähltem Skin (XP Theme) darzustellen, brauche ich Buttons, die mit TPicture arbeiten.
TImage = class(TGraphicControl)
... property Picture: TPicture read FPicture write SetPicture; ... Kann mir jemand solch eine Button Komponente empfehlen? Ich habe schon nach Komponenten gesucht, aber noch keine Vernünftige gefunden. Die Komponente sollte sich auch dem XP Theme anpassen (XP Manifest) Danke [edit]eigentliche Frage Fett gemacht[/edit] |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Versuche es mal mit Assign. Also
BitBtn.Bitmap.Assign(Picture) oder so ähnlich. Vielleicht klappts. [edit]Ach vergiss, sehe gerade, dass du was ganz anderes möchtest :wall: [/edit] |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
*push*
stehe grade vor dem selben Problem ... Hast du mittlerweile eine geeignete Komponente gefunden ? |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Zitat:
Aber: Die Firma Developer Express Inc wird das in eine der nächsten Versionen Ihrer Komponenten einbauen ;-) ( ![]() Zitat:
|
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Die sind aber glaube nur gegen Geld zu haben ... :(
Muss man sich wohl doch selbst an die Arbeit stürzen :( |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Zitat:
|
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Ich glaube bei der JediVCL sind auch Buttons mit TPicture Glyph dabei.
Ansonsten hilft natuerlich ein Glyph.Assign(SeparatePicture.Graphic.Bitmap); Dafuer ist naemlich Graphic.Bitmap da. Windows kann nur Bitmaps anzeigen, daher muss Picture immer eine Bitmap-Version vorhalten. |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Zitat:
(Das war das erste was ich probiert habe) |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Dann ist die Transparent-Implementation fuer PNG eben schlecht. Pech gehabt.
Alternativ rangehen und reparieren. Das duerfte ja OpenSource sein. |
Re: Glyph bei Buttons ist TBitmap, ich brauche TPicture
Zitat:
Bei *.png Dateien kann man transparente Abstufungen in 256 Stufen machen. (8Bit) Da der BitBtn leider nicht das Canvas auf dem er das Glyph zeichnet an das zu zuweisende Picture weitergibt, kann das picture in der TPicture.Bitmap auch nicht den Hintergrund des Buttons wissen und somit auch keine echte Transparenz umsetzen. Abhängig vom Skin ist es aber auch nicht leicht das "untenliegende" Canvas des Glyphs zu ermitteln um dann selbst was zu basteln. In Internet findet sich diese Frage relativ häuftig, aber es gibt nirgends eine Lösung. -> Scheint also nicht ganz so einfach zu sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 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