Zitat von
EWeiss:
Delphi-Quellcode:
procedure ProcessKeys(This_Mod: PWinAMPVisModule);
begin
// Jump To Prev Song
if keys[VK_LEFT] then
SendMessage(This_Mod^.hWNDParent, WM_COMMAND, 40044, 0);
// Jump To Next Song
if keys[VK_RIGHT] then
SendMessage(This_Mod^.hWNDParent, WM_COMMAND, 40048, 0);
//...
end;
// ....
WM_KEYDOWN: //Is A Key Being Held Down?
begin
keys[wParam] := True;
result:=0;
ProgressKeys;
end;
WM_KEYUP: //Is A Key Being Released?
begin
keys[wParam] := False;
result:=0;
ProgressKeys;
end;
Und so ist es auch richtig.
wParam enthält die entsp. Taste zB. die Leertaste. Ist nun eine Taste gedrückt
wird sie im Array
Keys[] auf den Booleanwert
TRUE gesetzt.
Der Status bleibt solange erhalten bis diese Taste losgelassen wird. Dann wird im Array
der Wert auf
FALSE gesetzt. Das macht die Tastatureingaben unabhängig vom Tastaturcontroler
und dessen "Wahlwiederholung.
KeyDown brauchst du dann nicht mehr oder ?