Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#4

AW: Einen Button klicken

  Alt 28. Mär 2015, 14:35
Tbutton(t).Click

Wobei T eine simple Variable vom Typ String ist.
Also man kann das irgendwie schon machen, aber man sollte da aufpassen, dass das einem nicht um die Ohren fliegt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Hallo Welt!');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  ButtonName: String;
begin
  ButtonName := 'Button1';
  if FindComponent(ButtonName).ClassType = TButton then
  begin
    TButton(FindComponent(ButtonName)).Perform(WM_LBUTTONDOWN, 0, 0);
    TButton(FindComponent(ButtonName)).Perform(WM_LBUTTONUP, 0, 0);
  end;
end;
Wenn man das Ganze auch noch schön in eine Prozedur auslagert, dann kann man wuderbar auf jeden Button über Namen zugreifen:
Delphi-Quellcode:
procedure StringButtonClick(Form: TForm; ButtonName: String);
begin
  with Form do
    if FindComponent(ButtonName).ClassType = TButton then
    begin
      TButton(FindComponent(ButtonName)).Perform(WM_LBUTTONDOWN, 0, 0);
      TButton(FindComponent(ButtonName)).Perform(WM_LBUTTONUP, 0, 0);
    end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  StringButtonClick(Form1, 'Button1');
end;
  Mit Zitat antworten Zitat