有一个带有虚拟键盘的窗体。我想模拟鼠标点击一个特定的虚拟键盘按钮时,用户点击真实的的键盘按钮。我想做到这一点有两个原因:
1.我计划在我的虚拟键盘上有一个修改器按钮,我想要受到真实的的按钮按下和按下的影响。
1.按下真实的键盘时虚拟键盘上的绘画效果。
所以,我有一些代码,在按下真实的的键盘按钮“A”似乎成功点击虚拟“A”按钮,但它并不能正常工作的所有方式。
TForm1 = class(TForm)
TouchKeyboard1: TTouchKeyboard;
private
{ Private declarations }
protected
procedure WndProc(var Message: TMessage); override;
public
{ Public declarations }
end;
TCastTouchKeyboard= class(TTouchKeyboard);
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.WndProc(var Message: TMessage);
var
MouseLDownMsg: TWMMButtonDown;
begin
inherited; {ScanCode of letter A}
if (Message.Msg = WM_KEYDOWN) and (Lo(Message.lParamHi) = $1E) then
with MouseLDownMsg, TCastTouchKeyboard(TouchKeyboard1) do
begin
Msg:= WM_LBUTTONDOWN;
Pos:= PointToSmallPoint(Buttons[31].BoundsRect.CenterPoint);
WndProc(TMessage(MouseLDownMsg))
end
end;
end.
我会很感激任何关于处理虚拟键盘上适当的鼠标点击真实键盘上的键向下和向上按下的一般想法的建议。
1条答案
按热度按时间niknxzdl1#
你说得对,雷米。代码如下:
谢谢