![]() |
Problem mit Bittmap in Button (BitBtn)
:wall:
Hallo, wenn ich auf dem Button Klicke soll ein Disk_Open.BMP in dem Button erscheinen. Klicke ich dann nochmal auf den Button soll ein Disk_Close.BMP in dem Button erscheinen.
Delphi-Quellcode:
procedure TFormDVDPlayer.cdOpenClick(Sender: TObject);
begin if fOpen = False then begin // ist CD-Laufwerk offen? //******************************************************************************************* ImageList4.GetBitmap(2, Web_Open.Glyph); // aus ImageList Bild öffnen u. in Button ablegen // z.B Disk_Open.BMP //******************************************************************************************* mciSEndString('SET CDAUDIO DOOR OPEN WAIT' , nil ,0, Self.Handle); // wenn nicht, öffne fOpen := True; end else begin //****************************************************************************************** ImageList4.GetBitmap(1, Web_Open.Glyph); // aus ImageList Bild öffnen u. in Button ablegen // z.B Disk_Close.BMP //****************************************************************************************** mciSEndString('SET CDAUDIO DOOR CLOSED WAIT' , nil ,0, Self.Handle); // wenn ja, schließe fOpen := False; end end; kann mir einer bei meinem Problem helfen? Gruß - Egon |
Re: Problem mit Bittmap in Button (BitBtn)
Tipp:
Verwende ActionLists! Erstelle zwei Actions (ActionOpen und ActionClose) und schreibe deinen Code (mciSEndString....) in die Eventhandler von OnExecute der Actions. Du kannst jetzt den Bitbutton ganz einfach von einer Action auf die andere umstellen:
Delphi-Quellcode:
Dabei ändert sich die Caption, Bitmap und der Eventhandler beim Klicken auf einen Rutsch.
BitnBtn1.Action := ActionClose;
// beziehungsweise BitnBtn1.Action := ActionOpen; Sehr interessant bei Actions ist auch der Hotkey. Du kannst z.B. der ActionOpen den Hotkey Strg-O zuweisen. |
Re: Problem mit Bittmap in Button (BitBtn)
:firejump:
Hallo sx2008. Danke für den Tip, aber ich habe einfach mal NACHGEDACHT, und die Zeile geändet mit ... cdOpen.ImageIndex:=54 (Öffnen) b.z.w. cdOpen.ImageIndex:=55 (Schließen) Das funktioniert bestens. Gruß - Egon
Delphi-Quellcode:
procedure TFormDVDPlayer.cdOpenClick(Sender: TObject);
begin if fOpen = False then begin // ist CD-Laufwerk offen? mciSEndString('SET CDAUDIO DOOR OPEN WAIT' , nil ,0, Self.Handle); // wenn nicht, öffne cdOpen.ImageIndex:=54; // Öffnen.bmp fOpen := True; end else begin mciSEndString('SET CDAUDIO DOOR CLOSED WAIT' , nil ,0, Self.Handle); // wenn ja, schließe cdOpen.ImageIndex:=55; // Schließen.bmp fOpen := False; end end; |
DP-Maintenance
Dieses Thema wurde von "mkinzler" von "Freeware" nach "Multimedia" verschoben.
Ist kein Freeware Programm |
Re: Problem mit Bittmap in Button (BitBtn)
Zitat:
das Programmieren vereinfachen und verbessern. Z.B. entfällt dann die Variable fOpen. Man kann z.B. Actions gleichzeitig mit einem Button und einem Menüpunkt verknüpfen. Du brauchst im Moment vielleicht kein Menü, aber der Kopf ist rund, damit das Denken die Richtung ändern kann. :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 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