AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastendruck weiterleiten

Ein Thema von mschaefer · begonnen am 15. Mär 2004 · letzter Beitrag vom 15. Mär 2004
Antwort Antwort
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#1

Tastendruck weiterleiten

  Alt 15. Mär 2004, 15:49
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?
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Tastendruck weiterleiten

  Alt 15. Mär 2004, 15:59
Sollte doch nicht allzu schwer sein. Du setzt einfach ein onKeyDown o.ä. Ereignis auf die ListBox, und sreibst dann einfach sowas:
Edit1.Text := Edit1.Text + Key; ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#3

Re: Tastendruck weiterleiten

  Alt 15. Mär 2004, 16:04
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
Martin Schaefer
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Tastendruck weiterleiten

  Alt 15. Mär 2004, 16:23
Hier ein Beispiel mit 2 Edit-controls:

Delphi-Quellcode:
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;
Dies leitet alle "normalen" Zeichen von Edit1 an Edit2 weiter.
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;
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#5

Re: Tastendruck weiterleiten

  Alt 15. Mär 2004, 16:31
Moin, moin,

Genial, genau sowas habe ich gesucht !!
Danke !

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.031 Beiträge
 
Delphi 12 Athens
 
#6

Re: Tastendruck weiterleiten

  Alt 15. Mär 2004, 17:30
Moin,
tja sorry leider zu früh gefreut...

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:

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;
Der Effekt ist, das in Edit 2 alle Tastendrücke in Großbuchstaben erscheinen.
Bei mir tut sich in Edit3 und Edit4 überhaupt nichts. Da muß doch irgendwo
noch ein Denkfehler stecken

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: Tastendruck weiterleiten

  Alt 15. Mär 2004, 19:15
HI!

Liegt es evtl. daran, dass es im Original-Code einmal Keydown und einmal Keypress ist?


Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:55 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