Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C++] Abfragen ob "Enter" gedrückt wurde (https://www.delphipraxis.net/19617-%5Bc-%5D-abfragen-ob-enter-gedrueckt-wurde.html)

Akut-Programming 6. Apr 2004 08:53


[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?

Cuchulainn 6. Apr 2004 08:59

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?

Akut-Programming 6. Apr 2004 09:33

Re: [C++] Abfragen ob "Enter" gedrückt wurde
 
Also ich nutze den BCB5!!

Akut-Programming 6. Apr 2004 10:33

Re: [C++] Abfragen ob "Enter" gedrückt wurde
 
Habe ich mit dem BCB5 überhaupt die Möglichkeiten???

shmia 6. Apr 2004 10:46

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;

tommie-lie 6. Apr 2004 10:47

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.

Cuchulainn 6. Apr 2004 10:51

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.

Akut-Programming 6. Apr 2004 11:09

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;
 }

fkerber 6. Apr 2004 11:12

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

Chewie 6. Apr 2004 11:16

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.
Seite 1 von 2  1 2      

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