Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TBitButton und PNG (https://www.delphipraxis.net/156286-tbitbutton-und-png.html)

hoika 26. Nov 2010 11:00

TBitButton und PNG
 
Hallo #,

D2010 kann doch PNG lesen.
Wie bekomme ich die aber auf ein TBitButton ?
Auch bei TMS finde ich nichts ;(


Heiko

soulies 26. Nov 2010 11:12

AW: TBitButton und PNG
 
hoi,

kannst Du nicht im OI -> Glyph das Bild laden ?

Wenn der ÖffnenDialog nur *.bmp | *.pcx erlaubt, versuche einmal einen '*' im Dateinamen
einzugeben, dann werden erstmal alle Dateien sichtbar. Dann dein *.png auswählen und schauen
was passiert.

So funzt es zumindest bei mir ...

cya

Bummi 26. Nov 2010 11:16

AW: TBitButton und PNG
 
wird mit Bitbtn nicht direkt fuktionieren, hier wird ein Bitmap erwartet
Delphi-Quellcode:
procedure TBitBtn.SetGlyph(Value: TBitmap);
begin
  TButtonGlyph(FGlyph).Glyph := Value as TBitmap;
  FModifiedGlyph := True;
  Invalidate;
end;

himitsu 26. Nov 2010 11:27

AW: TBitButton und PNG
 
Garnicht?

Beim TBitButton wird das Bild innerhalb der Windows-Komponente verwaltet und Windows versteht da nur BMP und eventuell noch ICO.

(Klar könnte Emba es nun so einrichten, daß man da auch andere Formate nutzen kann und dieses dann, bei Übergabe an die WinAPI, oder schon in SetGlyph, in ein Bitmap geladen wird)

Aber in Buttons macht man im Allgemeinen keine großen Bilder rein
und sowas wie die schöne Transparenz der PNGs würde natürlich nicht nutzbar sein, nachdem es intern nur als Bitmap verwaltet wird.

> Bei kleinen Bildern ist die Speicherersparnis nicht sonderlich groß ... eher unwichtig/unnötig.

> Wenn du PNG und seine Features nutzen willst, dann mußt halt einen anderen Button nutzen, wo man Delphi das Bild dann selber malen und es nicht von Windows verwalten läßt.

DeddyH 26. Nov 2010 11:30

AW: TBitButton und PNG
 
Die PNGComponents gibt es AFAIK ja auch für neuere Delphis, da hab ich ja gerade erst einen Fix dafür veröffentlicht.

[edit] Link eingefügt [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 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