procedure TMainDrawZc.HookKey(var message : TMessage);
var
KeyName : array[0..100] of char;
Action : string;
i : integer;
begin
GetKeyNameText(Message.LParam,@KeyName,100);
if ((Message.LParam shr 31) and 1) = 1 then
Action := 'Key Up'
else
if ((Message.LParam shr 30) and 1) = 1 then
Action := 'ReKey Down'
else
begin
Action := 'KeyDown';
if (String(KeyName) = 'Delete') or (String(KeyName) = 'Down') or
(String(KeyName) = 'Up') or (String(KeyName) = 'Right') or (String(KeyName) = 'Left') then
begin