Autor Beitrag
ffgorcky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Di 13.01.09 21:41 
Hallo liebe Community,

mal wieder eine Frage, bei der ich nicht so ganz verstehe, wieso ich darauf nicht komme:
Die Methode Form1.OnKeyDown wird doch beim Drücken jeder Taste (innerhalb des Fensters) ausgelöst.
Aber wie bekomme ich heraus, ob es denn F2 ist?
Oder bekomme ich das nur mit (verdeckten) MenuItems hin?
Ich würde nämlich gerne F2 für "neu" nehmen, während F1=Hilfe ist.
Aber ich möchte dafür nicht unbedingt ein MenuItem anlegen.
Oder muss ich das und kann es dann aber unsichtbar machen?

Ich bedanke mich schon mal für die Hilfe und verbleibe in froher Erwartung.


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 13.01.2009 um 23:30
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Di 13.01.09 21:49 
user profile iconffgorcky hat folgendes geschrieben Zum zitierten Posting springen:
Aber ich möchte dafür nicht unbedingt ein MenuItem anlegen. Oder muss ich das und kann es dann aber unsichtbar machen?

Das musst du nicht, aber es ist eine sehr gute Möglichkeit :idea:

Alternative: Lasse dir im Ereignis OnKeyDown den Parameter Key anzeigen (per ShowMessage oder im Debugger), und drücke F2. Dieser Wert ist der Schlüssel für die Taste F2, den du nun in eine Abfrage einbauen kannst.
Dusty
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

Windows XP
Delphi 5 Enterprise
BeitragVerfasst: Di 13.01.09 21:49 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
      VK_F1     : HilfeF1;
      VK_F2     : MachF2;
      VK_F9     : MachF9;
      VK_ESCAPE : Close;
   end;
end;


Eigenschaft TForm1.KeyPreview auf true setzen!!
ffgorcky Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 573

WIN XP/2000 & 7Prof (Familie:Win95,Win98)

BeitragVerfasst: Sa 24.01.09 14:02 
Danke Dusty!

Ich hätte nicht gedacht, dass es dann doch so eine einfache Benennung für die Funktionstasten gibt. Wobei ich eher gedacht hätte, dass es FK für Function-Key wäre.
Wofür steht denn das "V" in "VK"?
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Sa 24.01.09 14:10 
Zitat:
Wofür steht denn das "V" in "VK"?


Ich würde auf "virtual" tippen.
Dusty
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

Windows XP
Delphi 5 Enterprise
BeitragVerfasst: Sa 24.01.09 16:23 
Das V steht für virtual. Wenn du in der OH (Online Hilfe) nach virtual key suchst, bekommst du die Liste weiterer Key-Codes, z.B. gibt es auch VK_TAB, VK_RETURN, VK_ESCAPE, VK_RIGHT, VK_DOWN, VK_NUMPAD3 usw.

Die komplette Liste der virtuellen Key-Codes steht in "Windows.pas"
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Sa 24.01.09 16:36 
user profile iconDusty hat folgendes geschrieben Zum zitierten Posting springen:
Die komplette Liste der virtuellen Key-Codes steht in "Windows.pas"

Aber auch in der DF-Library. ;)