![]() |
Code verkürzen?
Moin,
habe ca 15 buttons auf meinem form1 die bei "OnMouseDown" und "OnMouseUp" das Bild wechseln. für diese Kleinigkeit hat jeder button z.b für das "OnMouseDown" sonen Code:
Delphi-Quellcode:
und das kommt in jeden button... Der code für die buttons ist immer gleich, bis auf Die Werte "getbitmap(6, bmp)".
procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var bmp: TBitmap; begin bmp := TBitmap.Create; try if imagelist2.getbitmap(6, bmp) then image5.picture.assign(bmp) finally bmp.free; end; end; da das aber allein NUR für das Bild ist(Code für andere Dinge kommt da auch noch rein)....finde ich das das ziemlich unübersichtlich wird. Könnte man das irgendwie mit ner function oder so anders machen? das ich z.b nur eingeben brauch "getbitmap(6);" so z.B ? danke ;) gruss mario |
Jeder Button bekommt einen Wert in der Tag-Eigenschaft zu gewiesen. Dann weißt du jedem Button den gleichen Event-Handler zu. Und der sieht so aus:
Delphi-Quellcode:
procedure TForm1.MyButtonClick(Sender: TObjekt);
begin case (Sender as TButton).Tag of 1: // erster Button 2: // zweiter Button 3: // dritter Button end; end; |
Hallo silent,
du könntest det Tag Eigenschaft der Buttons diese ID zuweisen und dann allen Buttons dieselbe Methode zuweisen. Wer "gerufen" hat kannst du über den Parameter Sender feststellen. Die ID gibt an, welches Bild geladen werden soll. |
moin, danke für die ntworten, ich probier das mal :)
gruss mario |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 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