![]() |
[C++] Abfragen ob "Enter" gedrückt wurde
Hi!
Ich habe in meiner Anwendung einen Login - Dialog. Momentan muss man dann immer erst mit der Maus auf "Login" klicken, um sich anzumelden. Nun würd ich es gern so machen, das der User nach der Eingabe von ID und Passwort "Enter" drücken kann, und sozusagen der Code des "Login" - Buttons ausgeführt wird?! :gruebel: Hat da jmd. n Tip für mich? |
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Benutzt du eine grafische Entwicklungsumgebung wie den C++-Builder oder hast du die Fenster mit der Windows API erstellt?
|
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Also ich nutze den BCB5!!
|
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Habe ich mit dem BCB5 überhaupt die Möglichkeiten???
|
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Das müsste in BCB5 gleich wie bei Delphi laufen; du musst den folgenden Code
nur nach C++ umsetzen. :zwinker:
Delphi-Quellcode:
// Property KeyPreview des Formulars muss True sein !
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; end; |
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Der BCB verfügt doch auch über die VCL. Also hat er die gleichen, oder zumindest ähnliche, Events. Vemrutlich auch ein OnKeyDown vom Edit oder ein OnKeyPress vom Edit. Nun, in einem von beideum überprüfst du, ob die letzte Taste die Enter-Taste war (entweder über #13 (ASCII-Zeichen für Enter) oder über den virtuellen Keycode der Enter-Taster (VK_ENTER?!?), je nachdem für welches Event du dich entscheidest. Wenn es nicht die Enter-Taste ist, einfach nichts tun, das Zeichen dürfte dann im Edit angezeigt wrden. Falls es die Enter-Taste ist, einfach das OnClock-Event des Login-Buttons aufrufen.
Wenn du nonVCL programmierst, geht's genauso: Bei der entsprechendem Message überprüfen, ob die Taste die Enter-Taste ist, wenn ja, den Login-Code ausführen. |
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Genau darauf wollte ich auch hinaus. Dann sollte es wie in Delphi funktionieren. Wenn du nur die API verwendet hättest, wäre es etwas komplizierter.
|
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Also ich habs jetzt mal nach C++ umgestellt. Nur leider funzt es nich - ich bekomme aber auch keinen fehler angezeigt..
Code:
switch (Key)
{ case '#13': Key = 0; BitBtn1->Click(); break; } |
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Hi!
Weise dem Key statt 0 mal #0 zu. Achja und vielleicht die ' ' um #13 weglassen. Ciao fkerber |
Re: [C++] Abfragen ob "Enter" gedrückt wurde
Ich bezweifle, dass die #-Codes in C++ funktionieren. Nimm die virtuellen Keycodes (VM_xxx) oder für den Zeilenumbruch '\r'.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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-2025 by Thomas Breitkreuz