Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi [GELÖST] Key (z.B 'A' ) per Button an ein Editfeld senden (https://www.delphipraxis.net/183589-%5Bgeloest%5D-key-z-b-per-button-ein-editfeld-senden.html)

Dexo 21. Jan 2015 14:16

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Zitat:

Zitat von DeddyH (Beitrag 1287295)
Wieso denn nicht einfach
Delphi-Quellcode:
display.Text := display.Text + '7';
?

Das habe ich auch schon gemacht, aber er soll ja die Zahl da hinschreiben, wo der Focus ist :D

Trotzdem Danke :thumb:

DeddyH 21. Jan 2015 14:18

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Das kann aber gefährlich werden, außerdem wurde ja schon angedeutet, dass bei Click der Button den Fokus bekommt, das hilft Dir ja auch nicht weiter. Skizzier doch mal Deine Anwendung etwas genauer, vielleicht gibt es ja andere Wege.

baumina 21. Jan 2015 14:18

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
SpeedButtons verwenden, das gibt keinen Fokus.

Delphi-Quellcode:
Edit1.SelText := '7';

Dexo 21. Jan 2015 14:23

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von DeddyH (Beitrag 1287297)
Das kann aber gefährlich werden, außerdem wurde ja schon angedeutet, dass bei Click der Button den Fokus bekommt, das hilft Dir ja auch nicht weiter. Skizzier doch mal Deine Anwendung etwas genauer, vielleicht gibt es ja andere Wege.

Danke für deine Hilfe :thumb:!

Anhang 42459

Klaus01 21. Jan 2015 14:26

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
.. also Du drückst den ZahlenButton, merkst Dir den Wert
dann drückst Du den FocusButton und fügst den Wert in das Editx.Text an.

Grüße
Klaus

baumina 21. Jan 2015 14:27

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Delphi-Quellcode:
If ActiveControl.InheritsFrom(TEdit) then
begin
  TEdit(ActiveControl).SelText := '7';
end;

DeddyH 21. Jan 2015 14:32

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Oder man merkt sich einfach, welches Edit zuletzt den Fokus hatte.
Delphi-Quellcode:
type
  TDeinForm = class(TForm)
  private
    FLastFocusedEdit: TCustomEdit;
    procedure RememberLastFocusedEdit(Sender: TObject);
    ...
  end;

...

(* Diese Methode beiden Edits zum OnEnter-Ereignis zuweisen *)
procedure TDeinForm.RememberLastFocusedEdit(Sender: TObject);
begin
  if Sender is TCustomEdit then
    FLastFocusedEdit := TCustomEdit(Sender);
end;
Im OnCreate des Forms kann man FLastFocusedEdit mit einem der beiden Edits vorbelegen, die Buttons greifen dann auf das private Feld zu:
Delphi-Quellcode:
procedure TDeinForm.btn7Click(Sender: TObject);
begin
  FLastFocusedEdit.Text := FLastFocusedEdit.Text + '7';
end;
@baumina: ActiveControl dürfte mit ziemlicher Sicherheit der auslösende Button sein, zumindest wenn es sich um einen Standard-Button (TWinControl) handelt.

Dexo 21. Jan 2015 14:33

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Danke!

baumina 21. Jan 2015 14:36

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Zitat:

Zitat von DeddyH (Beitrag 1287310)
@baumina: ActiveControl dürfte mit ziemlicher Sicherheit der auslösende Button sein, zumindest wenn es sich um einen Standard-Button (TWinControl) handelt.

Deswegen mein Hinweis oben besser SpeedButtons zu verwenden.

Dexo 21. Jan 2015 14:38

AW: Key (z.B 'A' ) per Button an ein Editfeld senden
 
Zitat:

Zitat von baumina (Beitrag 1287313)
Zitat:

Zitat von DeddyH (Beitrag 1287310)
@baumina: ActiveControl dürfte mit ziemlicher Sicherheit der auslösende Button sein, zumindest wenn es sich um einen Standard-Button (TWinControl) handelt.

Deswegen mein Hinweis oben besser SpeedButtons zu verwenden.

Also wenn ich SpeedButtons verwende bleibt ActiveControl bei den Edits?

-Daniel


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:55 Uhr.
Seite 2 von 3     12 3      

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