procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_UP: {上};
VK_DOWN: ;
VK_LEFT: ;
VK_RIGHT: ;
end;
end;
Shift: TShiftState);
begin
case Key of
VK_UP: {上};
VK_DOWN: ;
VK_LEFT: ;
VK_RIGHT: ;
end;
end;
protected
FClientInstance, FPrevClientProc : TFarProc;
procedure ClientWndProc(var Message: TMessage);procedure TMainForm.FormCreate(Sender: TObject);
begin
FClientInstance := MakeObjectInstance(ClientWndProc);
end;
procedure TMainForm.clientwndproc(var message:Tmessage);
var
MyKeyDown: TKeyEvent;
shift: Tshiftstate;
key: Word;
begin
with message do
begin
if msg=WM_KeyDown then
begin
Key:= message.wparam;
MyKeyDown:= OnKeyDown;
if assigned(mykeydown) then MyKeyDown(Self, Key, Shift);
Result:= 1;
end else Result:=CallWindowProc(FPrevClientProc, ClientHandle, Msg, wParam, lParam);
end;
end;