![]() |
Tastendruck weiterleiten
Moin, moin,
ich habe eine Auswahlliste (Listbox) und ein Eingabefeldt (TEdit). Nun möchte ich, das wenn die Listbox selektiert ist die Tastendrücke an das Edit weiterleiten. Hat da jemand eine Idee wie das gehen könnte? |
Re: Tastendruck weiterleiten
Sollte doch nicht allzu schwer sein. Du setzt einfach ein onKeyDown o.ä. Ereignis auf die ListBox, und sreibst dann einfach sowas:
Delphi-Quellcode:
ciao, Philipp
Edit1.Text := Edit1.Text + Key;
|
Re: Tastendruck weiterleiten
Moin, moin
ja mit Anhängen mag das gehen. Aber die Tücke liegt im Detail - Del - Taste - Links-Rechts-Pfeile - und Text nach Links-Rechts Cusorbewegungen irgendwie erscheint mir das sehr aufwendig... daher habe ich überlegt ob man das Tastaturereignis nicht irgendwie umbiegen kann Grüße // Martin |
Re: Tastendruck weiterleiten
Hier ein Beispiel mit 2 Edit-controls:
Delphi-Quellcode:
Dies leitet alle "normalen" Zeichen von Edit1 an Edit2 weiter.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin // Zeichen an Edit2 weiterleiten Edit2.Perform(WM_CHAR, Integer(Key), 0); // Zeichen für Edit1 nicht weiter bearbeiten Key := #0; // evtl. auskommentieren end; Damit auch die Cursortasten weitergeleitet werden:
Delphi-Quellcode:
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin Edit2.Perform(WM_KEYDOWN, Key, 0); end; |
Re: Tastendruck weiterleiten
Moin, moin,
Genial, genau sowas habe ich gesucht !! Danke ! Grüße // Martin |
Re: Tastendruck weiterleiten
Moin,
tja sorry leider zu früh gefreut... :stupid: Also habe jetzt mal vier Edit-Feldr unmotiviert irgendwo auf ein leeres Formular geworrfen. Im OnKeyDown - Ereignis von Edit 1 steht dann folgendes
Delphi-Quellcode:
Der Effekt ist, das in Edit 2 alle Tastendrücke in Großbuchstaben erscheinen.procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Edit2.Perform(WM_CHAR, Integer(Key), 0); Edit3.Perform(WM_KEYDOWN, Integer(Key), 0); PostMessage( Edit4.handle, WM_SYSKEYDOWN, Integer(Key), 1 ); end; Bei mir tut sich in Edit3 und Edit4 überhaupt nichts. Da muß doch irgendwo noch ein Denkfehler stecken :gruebel: :gruebel: :gruebel: Grüße // Martin |
Re: Tastendruck weiterleiten
HI!
Liegt es evtl. daran, dass es im Original-Code einmal Keydown und einmal Keypress ist? Ciao fkerber |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:53 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 by Thomas Breitkreuz