![]() |
Button zur Laufzeit mit festlegbarem On-Click Ereigniss
HI,
Ich öffne in einem Programm andere Programme über Shellexecute. Dafür hab ich mir eine Liste der Pfade angelegt, die immer bei Programmbeginn gelesen wird. Jetzt will ich zur Laufzeit für jeden Pfad einen Button mit einem passenden Shellexecute im On-Click erstellen. :coder: Leider hab ich mit solchen Sachen noch nicht gearbeitet und weiss jetzt nicht, wie ich das anstellen kann oder wonach ich jetzt suchen muss. :wall: :?: Also: wie kann ich das machen :?: THXbyTOX |
Re: Button zur Laufzeit mit festlegbarem On-Click Ereigniss
Du könntest es in etwa so machen
Delphi-Quellcode:
var Buttons: Array of TButton;
[...] setlength(Buttons, length(Buttons) + 1); Buttons[length(Buttons)-1] := TButton.Create; Buttons.parent := Self; Buttons.top := y; //musst du selbst festlegen Buttons.Left := x; //musst du auch selbst festlegen Buttons.OnClick := ButtonClicksproc; procedure TIrgendwas.ButtonClicksproc(Sender: TObject); var LCount: Integer; LProgramm: String; begin for LCount := 0 to length(Buttons) - 1 do begin if Sender = Buttons[LCount] then begin LProgramm := Programmliste.Strings[LCount]; //jetzt kannst du mit LProgramm dein ShellExecute aufrufen end; end; end; |
Re: Button zur Laufzeit mit festlegbarem On-Click Ereigniss
Hai Toxman,
das Thema hatten wir schon sehr oft -> ForenSuche Ich würde das anders lösen. Weise jedem Button das gleiche OnClick-Event zu. Wenn Du einen neuen Button erzeugst weise der Eigenschaft Tag einen neuen Wert zu. In deinem OnClick wertest Du jetzt einfach das Tag aus.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i_tag : Integer; s_programm : String; begin i_tag := (Sender As TButton).Tag; case i_tag of 0 : s_programm := 'c:\myprogramm1.exe'; 1 : s_programm := 'c:\myprogramm2.exe'; 2 : s_programm := 'c:\myprogramm3.exe'; end; ShellExecute (.......); end; |
Re: Button zur Laufzeit mit festlegbarem On-Click Ereigniss
Vielen Dank ihr beide :thuimb:
@ Sharky: Ich wusste leider nicht, nach was ich suchen sollte. Da hab ich natürlich als erstes geschaut :mrgreen: |
Re: Button zur Laufzeit mit festlegbarem On-Click Ereigniss
Das von Sharky ist wohl eindeutig die bessere Variante. Auf das mitm Tag hätt ich auch selbst kommen können so oft wie das schon geschrieben wurde
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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