Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi automatisch Element mit focus auswählen (https://www.delphipraxis.net/107886-automatisch-element-mit-focus-auswaehlen.html)

guevaradelaserna 4. Feb 2008 10:32


automatisch Element mit focus auswählen
 
Hallo!
Ich versuche gerade das jeweilige Element (Button), welches den Focus hat automatisch auszuführen (Click). Für ein Element ist das klar. Jedoch weiss ich nicht, wie ich es bei mehreren Buttons machen kann. Es wäre schön, wenn ihr mir helfen könnt, da ich nicht sehr viel Ahnung von Delphi habe.

Che

DeddyH 4. Feb 2008 10:39

Re: automatisch Element mit focus auswählen
 
Abgesehen davon, dass ich den tieferen Sinn nicht verstehe, könntest Du das z.B. so machen:
Delphi-Quellcode:
  if (ActiveControl is TButton) then
  TButton(ActiveControl).Click;

chest3rs 4. Feb 2008 10:46

Re: automatisch Element mit focus auswählen
 
Hi.

Ich verstehe deine Frage nicht richtig.

Willst du mehrere Komponenten gleichzeitig auswählen oder dass alle Ereignisse gleichzeitig ausgeführt werden?

guevaradelaserna 4. Feb 2008 10:56

Re: automatisch Element mit focus auswählen
 
Hallo!
Erstmal danke für die Antworten! Ich habe ein Programm, welches einen Timer benutzt. Wenn dieser abgelaufen ist, soll bei dem gerade ausgewählten Element das Click-Ereignis ausgeführt werden. Da ich mehrere Elemente habe, weiss ich nicht (aufgrund meines fehlenden Wissens), wie ich an das gerade ausgewählte Element herankomme und dieses ausführen kann.

Danke Che

DeddyH 4. Feb 2008 11:00

Re: automatisch Element mit focus auswählen
 
Schau Dir mal dieses Beispiel an (alle Buttons haben denselben Handler):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := TControl(Sender).Name;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (ActiveControl is TButton) then
    TButton(ActiveControl).Click;
end;

end.
Das entspricht somit exakt dem, was ich unter #2 bereits gepostet habe.

chest3rs 4. Feb 2008 11:02

Re: automatisch Element mit focus auswählen
 
Ich würde einfach die Leertaste oder Return simulieren. Hierzu brauchst du keybd_eventkeybd_event.

Oder einfach nach Hier im Forum suchenTastendruck simulieren suchen.

Gruß

DeddyH 4. Feb 2008 11:08

Re: automatisch Element mit focus auswählen
 
Zitat:

Zitat von chest3rs
Ich würde einfach die Leertaste oder Return simulieren.

Und wenn z.B. Notepad zwischendurch den Fokus bekommt, schreibst Du munter Zeichen hinein.

guevaradelaserna 4. Feb 2008 11:15

Re: automatisch Element mit focus auswählen
 
Hallo!
Danke so funktionierts DeddyH :-D . Habt ihr auch eine Idee wie man sowas bei Images realisieren kann? Da gibt es ja kein SetFocus.

Ciao Che


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