Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Code verkürzen? (https://www.delphipraxis.net/3268-code-verkuerzen.html)

Pseudemys Nelsoni 4. Mär 2003 07:09


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:
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;
und das kommt in jeden button... Der code für die buttons ist immer gleich, bis auf Die Werte "getbitmap(6, bmp)".
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

Luckie 4. Mär 2003 07:15

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;

MrSpock 4. Mär 2003 07:15

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.

Pseudemys Nelsoni 4. Mär 2003 09:35

moin, danke für die ntworten, ich probier das mal :)

gruss mario


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