Einzelnen Beitrag anzeigen

shmia

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

AW: JVCL: TJvFilenameEdit feuert OnKeyPress nicht bei "Enter"

  Alt 10. Nov 2010, 19:00
Auf ein TAB zu warten ist für meine User sicher unpassend. Absolute Non-Computermenschen.
Nun dann wäre es sicher sinnvoll, wenn man an zentraler Stelle etwas Code einbaut,
damit beim Drücken der Enter/Return-Taste genau das gleiche passiert, als ob man den Tab gedrückt hat.
Delphi-Quellcode:
// das Property KeyPreview des Formulars muss auf True gesetzt werden
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
   case Key of
   VK_RETURN:
      begin
         // Zum nächsten Control in der Taborder weiterschalten.
         // Falls Shift gedrückt ist wird zum vorherigen Contol umgeschaltet.
         Key := 0;
         Perform(WM_NEXTDLGCTL, Ord(ssShift in Shift), 0);
      end;
   end;
end;
Wenn dann die Entertaste bewirkt, dass automatisch das nächste Control angesprungen wird,
dann kannst du wieder das Event OnExit verwenden.

Für Dich wird es einfacher, denn so brauchst du dich nur auf den Fall konzentrieren,
dass das JcFilenameEdit verlassen wird.
Wenn du es nach deiner Methode machst, dann musst du die Fälle "Enter gedrückt" und
"mit Maus auf anderes Control geklickt" separat behandeln.
Andreas
  Mit Zitat antworten Zitat