Autor Beitrag
J.Borchert
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 150

WIN10
XE2 Professional
BeitragVerfasst: Do 30.06.05 11:00 
Habe einfach Scheuklappen, wie lese ich Tastenkombis?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.sg1KeyDown(Sender: TObject; var Key: Word; // StringGrids Ereignis
  Shift: TShiftState); var i:integer; // virtuelle Tastencodes
  f:file;
begin if Key = vk_RETURN then begin BeiEnterAufCol1; Key := 0end;
      if Key = vk_F3 then rechne(sg1);
      if Key = vk_F6 then begin Sortiere(sg1);Hilfe('Tabelle ist aufsteigend');end;
      if (ssCtrl  in Shift)and(key = vk_Left) then AlleNachLinks;
      if (ssCtrl  in Shift)and(key = vk_Right) then AlleNachRechts;
      if (ssAlt  in Shift)and(key = vk_Next ) then WertNachUnten;// Problem 1
      if (ssCtrl  in Shift)and(key = ord('e') ) then EditModus; // Problem 2
end;


Also zu Problem 1: Die normale Funktion "Seite runter" im StringGrid (sg1) wird auch ausgeführt (soll nicht)
zu Problem 2: ord('e') scheint nicht zu funktionieren, wenn ich Key ausgebe, ist Key=17 warum ?
( würde gern auf die Tastenkombi Strg+e reagieren )

mfG Jürgen

_________________
Wer immer macht was er schon kann, bleibt immer das, was er schon ist. "H.Ford"
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 30.06.05 11:09 
Zu deinem Problem 1: Einfach
ausblenden Delphi-Quelltext
1:
Key := 0;					

nach deinem Code hinschreiben, wenn das nicht weiter behandelt werden soll.

Zu dem anderen Problem: Wie wärs mit THotKey?

Soll der Hotkey global im System sein, nimm folgenden Code:
www.swissdelphicente...showcode.php?id=2375

Und außerdem gibts in der JEDI Sammlung TJvApplicationHotKey oder so ähnlich, das gilt dann nur für deine Anwendung...
J.Borchert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 150

WIN10
XE2 Professional
BeitragVerfasst: Do 30.06.05 11:23 
Strg+e soll nur beim Bearbeiten des StringGrids eine Funktion ausführen.

Zitat:

Die meisten virtuellen Tastencodes sind in der Unit Windows definiert. Weitere Tastencodes sind in speziellen Windows-Wrappern (z. B. Unit imm) definiert. Verwenden Sie bei alphabetischen Tasten ord zusammen mit einem Großbuchstaben, wie beispielsweise ord( 'M' ).

Mit der Methode Ord kann ein virtueller Tastencode für einen alphanumerischen Wert erzeugt werden. Ord(‘7’) liefert beispielsweise den virtuellen Tastencode für die Ziffer 7.


So stehts in der Online-Hilfe unter virtuelle Tastencodes aber mein ord funktioniert trotzdem nicht.

Problem 1 ist gelöst, danke.

mfG Jürgen

_________________
Wer immer macht was er schon kann, bleibt immer das, was er schon ist. "H.Ford"
J.Borchert Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 150

WIN10
XE2 Professional
BeitragVerfasst: Do 30.06.05 11:26 
Habe selbst gelesen und gelöst: das ord('e') funzt nur wenn ord('E') ist.

Danke mfG Jürgen

_________________
Wer immer macht was er schon kann, bleibt immer das, was er schon ist. "H.Ford"
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 30.06.05 11:32 
Hinweis:
Ord('E') = Ord('e') - Ord('a') + Ord('A') = Ord('e') - 32

Grund:
Ord('A') = 65
Ord('a') = 97
Und von da wird jeweils hochgezählt...