Here I am again.
In win32 widgetset, win32callback.inc, in WindowProc,
in code
WM_CHAR:
Begin
PLMsg:[EMAIL PROTECTED];
With LMChar Do
Begin
Msg := CN_CHAR;
KeyData := LParam;
CharCode := Word(WParam);
CharCode gets correctly filled with values >255.
However, further below, in code
CN_CHAR, CN_SYSCHAR:
begin
// if key not yet processed, let windows process it
WinProcess := LMChar.Result = 0;
WParam := LMChar.CharCode;
LMChar.CharCode is already truncated to the lower byte.
The reason seems to be in wincontrol.inc (not an interface
area), in DoKeyPress:
if not (csNoStdEvents in ControlStyle)
then with Message do
begin
C := char(CharCode);
KeyPress(C);
CharCode := Ord(C);
if Char(CharCode) = #0 then Exit;
end;
Now, of course, DoKeyPress can not do the trick and I see
there IntfUTF8KeyPress which calls controls.DoUTF8KeyPress.
However, even after trying to see how this is used in gtk, I
feel lost.
Any help and direction showing available?
Many thanks,
Borut
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives