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/)
-   -   Delphi Zwei Bitmaps für TBitButton (https://www.delphipraxis.net/11419-zwei-bitmaps-fuer-tbitbutton.html)

weltaran 6. Nov 2003 10:46


Zwei Bitmaps für TBitButton
 
Ich möchte einem BitmapButton zwei verschiedene Bitmaps zuweisen können, allerdings nicht abhängig von dem Zustand gedrückt/nicht gedrückt sondern abhängig von anderen Gegebenheiten in meinem Programm. Ich möchte das zweite Bitmap jedoch nicht zur Laufzeit nachladen, sondern in der DLL speichern (das Bild also zur Designzeit einbinden).

Ich erkläre am besten wofür ich das Ganze brauche:
In einem Objekt kann ein Kommentar gespeichert werden. Wenn der Benutzer das Object mit einem eigens dafür geschaffenen Editor bearbeitet, so soll ein rotes Ausrufezeichen auf dem 'Comment'-Button angezeigt werden wenn bereits etwas im Kommentarfeld drinsteht, ansonsten ein dunkelgraues Ausrufezeichen, wenn das Feld (noch) leer ist.

Ciao

Matze 6. Nov 2003 10:52

Re: Zwei Bitmaps für TBitButton
 
Hi!

Wie das mit einer Dll geht weiß ich nicht.

Aber du könntest diese Bitmaps auch in einer resourcen-Datei speichern, womit die Bitmaps dann in die exe eingebunden werden.
Nachteil: exe wird etwas größer. ;)

weltaran 6. Nov 2003 11:12

Re: Zwei Bitmaps für TBitButton
 
Hmmm, scheint mir aufwändig zu sein. Ich hab jetzt nen 'Hack' indem ich zwei weitere BitBtns (mit den beiden Bildern) aufs formular draufknalle, diese auf Visible:= false schalte und dem ursprünglichen BitBtn nach Lust und Laune das im jeweiligen Moment richtige Glyph zuweise! Aber diese nichtsichtbaren Buttons die nur als Glyph-Speicher dienen sind unschön, gell?

Ciao

scp 6. Nov 2003 12:49

Re: Zwei Bitmaps für TBitButton
 
Benutz doch eine ImageList und die dazugehörige Funktion GetBitmap

Delphi-Quellcode:
ImageList1.GetBitmap(0, BitBtn1.Glyph); // Erstes Bild
ImageList1.GetBitmap(1, BitBtn1.Glyph); // Zweites Bild
// ...

joe09 12. Nov 2003 11:01

Re: Zwei Bitmaps für TBitButton
 
Hallo.

Du musst dein Image doppelt so breit machen wie es ist (nicht zerren). Auf der linken Seite plazierst du dein rotes Ausrufezeichen und auf der Rechten dein Dunkelgraues.

Dann musst du das Bild nur dem BitBtn zuweisen (--> Glyph) und NumGlyph auf 2 stellen. Jetzt kannst du zwischen beiden Bildern hin und her wechseln,indem du den BitBtn enable/disable setzt.

Gruß Joe09


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz