TTreeView.OnKeyPress does not fire with international characters.
Original Reporter info from Mantis: alexx
-
Reporter name: Alexander Todorov
Original Reporter info from Mantis: alexx
- Reporter name: Alexander Todorov
Description:
TTreeView.OnKeyPress does not fire when the active keyboard layout is not English. Only OnKeyDown fires.
I have tested this on Linux. My locale settings are:
LANG=bg_BG.UTF-8
LANGUAGE=bg,mk
LC_CTYPE="bg_BG.UTF-8"
LC_NUMERIC="bg_BG.UTF-8"
LC_TIME="bg_BG.UTF-8"
LC_COLLATE="bg_BG.UTF-8"
LC_MONETARY="bg_BG.UTF-8"
LC_MESSAGES="bg_BG.UTF-8"
LC_PAPER="bg_BG.UTF-8"
LC_NAME="bg_BG.UTF-8"
LC_ADDRESS="bg_BG.UTF-8"
LC_TELEPHONE="bg_BG.UTF-8"
LC_MEASUREMENT="bg_BG.UTF-8"
LC_IDENTIFICATION="bg_BG.UTF-8"
LC_ALL=
On Windows works fine with both english and cyrillic characters.
Steps to reproduce:
procedure TForm1.TreeView1KeyPress(Sender: TObject; var Key: char);
begin
writeln('KeyPress. Ord(Key)=', Ord(Key), ' Key=', Key);
end;
procedure TForm1.TreeView1KeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
writeln('KeyDown. Chr(Key)=', Chr(Key), ' Key=', Key);
end;
Mantis conversion info:
- Mantis ID: 2023
- Version: 0.9.14
- Target version: 1.0.0
- LazTarget: 1.0