Autor Beitrag
Jagg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Di 03.12.02 17:02 
Hiiiiiiiiiii !

Wie realisiere ich,das ich mit den Auf und Ab Pfeiltasten ins näschte EditFeld gelange ???

Jagg !
Savage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: 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.:
ausblenden Quelltext
1:
if key = vk_down then edit1.setfocus;					


Mfg
Savage
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 03.12.02 18:13 
Könnte ab mehreren Edits etwas mühsam werden. Eleganter ist auf jden Fall: WM_NEXTDLGCTL.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Mi 04.12.02 09:26 
Hi !

Hier ist der Code für die Taste "PfeilUnten" :
ausblenden 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" :
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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?

ausblenden 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Jagg Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 635



BeitragVerfasst: Mi 04.12.02 09:57 
danke