Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi STRG + Enter wie abfangen ?? (https://www.delphipraxis.net/70862-strg-enter-wie-abfangen.html)

Real_Thunder 5. Jun 2006 23:55


STRG + Enter wie abfangen ??
 
Ich wollte fraen, wie man in einem TRichedit, abfanen kann das jemand STRG und Enter Drückt..

if key = #13 .. soweit bin ich schon.. aber wie fange ich nun die zusätzliche taste STRg ab ?

danke für eure Hilfe

Cyberbob 6. Jun 2006 00:21

Re: STRG + Enter wie abfangen ??
 
Du könntest mit den OnKeyDown und OnKeyUp Prozeduren arbeiten und z.b. eine Globale Variable (isSTRGPressed) bei OnKeyDown auf True setzen und bei OnKeyUp auf False. Dabei benötigst du den Tastencode der CTRL-Taste. Und bei Klick der Enter Taste kannst du dann mit if(Key = #13) and (isSTRGPressed) then ... deine weiteren Befehle ausführen.


[EDIT]
Das könnte dann etwa so aussehen:

Delphi-Quellcode:
var
  isSTRGPressed : Boolean;

...

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = 17 then
    isSTRGPressed := True;

  if (Key = 13) and (isSTRGPressed) then
  begin
    isSTRGPressed := False;
    ShowMessage('Geht');
  end;
end;

procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  isSTRGPressed := False;
end;
[/EDIT]

Martin K 6. Jun 2006 00:26

Re: STRG + Enter wie abfangen ??
 
Bei OnKeyDown wird noch Shift: TShiftState übergeben.
Wenn ssCtrl in Shift enthalten ist, wird die Strg-Taste gedrückt!

Delphi-Quellcode:
procedure TForm1.RichEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (ssCtrl in Shift) and (Key = 13) then
    // ...
end;
@Cyberbob:
Warum kompliziert, wenn's auch einfach geht?

Real_Thunder 6. Jun 2006 01:14

Re: STRG + Enter wie abfangen ??
 
Das war was ich gebraucht habe.. es Läuft wunderbar....

vielen dank

Cyberbob 6. Jun 2006 02:47

Re: STRG + Enter wie abfangen ??
 
Ja, stimmt schon. Das hatte ich nicht bedacht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz