Entwickler-Ecke
Sonstiges (Delphi) - Auf und Ab Pfeiltasten ins nächste Editfeld !
Jagg - Di 03.12.02 17:02
Titel: Auf und Ab Pfeiltasten ins nächste Editfeld !
Hiiiiiiiiiii !
Wie realisiere ich,das ich mit den Auf und Ab Pfeiltasten ins näschte EditFeld gelange ???
Jagg !
Savage - Di 03.12.02 17:35
Hi,
das kannst du mit den Virtuellen Tastencodes machen:
Pfeiltaste:
nach oben - vk_up
nach unten - vk_down
nach links - vk_left
nach rechts - vk_right
Im Im Ereignis ONKeyUp oder ONKeyDown vom Editfeld eine If-Anweisung schreiben.
z.B.:
Quelltext
1:
| if key = vk_down then edit1.setfocus; |
Mfg
Savage
Delete - Di 03.12.02 18:13
Könnte ab mehreren Edits etwas mühsam werden. Eleganter ist auf jden Fall: WM_NEXTDLGCTL.
LCS - Mi 04.12.02 09:11
Heute kommt der erhobene Zeigefinger mal von mir :mrgreen:
Warum willst du die Standards von Windows (TAB und SHIFT-TAB) ändern? Ich persönlich wäre da gar nicht sehr erfreut.
Ich hab das auch schon mal gemacht (mit ENTER zum nächsten Eingabeelement) um Umsteigern von DOS Programmen die Sache ein bisschen zu erleichtern. Es war ein Fiasko :autsch:
Gruss Lothar
Delete - Mi 04.12.02 09:16
Das Hinterfragen von solchen Aktionen habe ich schon lange aufgegeben. Ich helfe einfach nur noch - wenn es nicht zu unsinnig ist. Nicht dass man dann noch für den Unsinn verantwortlich gemacht wird.
Jagg - Mi 04.12.02 09:26
Hi !
Hier ist der Code für die Taste "PfeilUnten" :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm11.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_Down then begin Self.Perform(WM_NEXTDLGCTL,0,0); end; end; |
...funktioniert wunderbar !
Hier ist der Code für die Taste "PfeilOben" :
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm11.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_Up then begin Self.Perform(WM_NEXTDLGCTL,1,0); end; end; |
...funktioniert auch wunderbar,aber wenn ich die Taste gedrückt halte,möchte ich,das der Cursor schnell zu jedem nächsten EditFeld springt (und nicht,das ich jedes mal,wenn ich zum nächsten Feld gehen will,die Taste drücken muss)
Bei der PfeilUnten Taste macht er das !
Könnt ihr mir helfen ?
Jagg !
LCS - Mi 04.12.02 09:31
Wie soll denn eine Taste die du festhälst ein OnKeyUp Ereignis auslösen? Und warum schreibst du das überhaupt in zwei unterschiedliche Ereignisroutinen?
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm11.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_DOWN: Self.Perform(WM_NEXTDLGCTL,0,0); VK_UP: Self.Perform(WM_NEXTDLGCTL,1,0); end; end; |
Gruss Lothar
Jagg - Mi 04.12.02 09:57
danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!