Witam Chciałem ulepszyć procedure przechwytującą klawisze.
Problem mam taki że chciałbym przechwycić polskie znaki i duże znaki (dodatkowe wciśnięcie Shift, Alt, CapsLoock). Część mojego kodu wygląda tak
Kod:
case Key of
13: Memo.Lines.Add('enter');
8: Memo.Text := Memo.Text + '[backspace]';
27: Memo.Text := Memo.Text + '[esc]';
65: Begin
if GetKeyState(17) < 0 then Memo.Text := Memo.Text +'ą'
else
if GetKeyState(16) < 0 then Memo.Text := Memo.Text +'A'
else memo.Text := memo.Text + 'a';
end;
else Memo.Text := Memo.Text + Chr(Key);
end;
Shift -------> #16
Alt -------> #17 lub #18
CapsLock --> #20
Nie wiem jak sie zabrać za połączenie Alt i Shift.
Na samego Alt znalazłem :
// przykładowo dla litery a
65: if GetKeyState(VK_MENU) < 0 then begin Memo1.Text := Memo1.Text + 'ą' end // (VK_MENU) to Alt
else begin Memo1.Text := Memo1.Text + 'a';
Dla Shift można zrobić analogicznie ale nie mogę połączyć razem Alt i Shift by mieć 'Ą'