Einzelnen Beitrag anzeigen

taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#9

Re: Tastenkombination Ctrl+K+P erkennen

  Alt 26. Nov 2007, 00:47
Oh shit, für 'ne Spielerei ist es jetzt schon ziemlich spät geworden.

Hansa, deine Sorgen um mein Programm kann ich eigentlich nicht mehr ganz nachvollziehen. Folgender Code zeigt, dass ^K und ^P sauber erkannt werden und auch Ctrl+K+P, nicht aber Ctrl+P+K.

Delphi-Quellcode:
procedure TfoTest9.FormKeyDown(Sender:TObject;var Key:Word;Shift:TShiftState);
var KeybState : TKeyboardState;
begin
  if SSCtrl in Shift then begin

    if Key=ord('P') then begin
      GetKeyboardState(KeybState);
      if KeybState[ord('K')] and 128=128 then label1.caption:='Ctrl+K+P'
                                         else label1.caption:='Ctrl P';
      end;

    if Key=ord('K') then label1.caption:='Ctrl K';

    end;

end;
Problem ist, dass jedes Ctrl+K+P für einen kurzen Zeitraum auch ein Ctrl+K ist - aber ist das nicht auch mit einem DoppelClick so, der ist für eine in Windows definierte Zeitspanne auch erst einmal ein einfacher Click. Optimierung wäre also in diesem "Tastaturfall", ebenfalls eine Zeitspanne zu definieren, innnerhalb derer der zweite Buchstabe gedrückt werden muss, um als 3er-Kombination gewertet zu werden.

Oder habe ich dich völlig missverstanden?
Ralph
Ralph
  Mit Zitat antworten Zitat