gpt4 book ai didi

android - OnMouseDown 和 OnMouseUp 只能成对使用吗?

转载 作者:搜寻专家 更新时间:2023-11-01 08:52:53 25 4
gpt4 key购买 nike

我的应用程序有很多 TRectangle 作为键盘的键。单击其中一个时,您会听到声音。这是通过处理 OnMouseDown 和 OnMouseUp 事件来完成的。 OnMouseDown:发送声音和 OnMouseUp:将其关闭。一切正常,除了一件事。

在 Android 上,我可以用多个手指按下多个键。处理完一个 OnMouseDown 事件后,将不会处理其他 OnMouseDown 事件,直到处理完 OnMouseUp 事件。它不必是阻止另一个 OnMouseDown 的键的 OnMouseUp,它可以是任何 OnMouseUp 事件。示例代码:

procedure TKeyBoard.note_down (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single);
var
key: TKey;
begin
key := Sender as TKey;
logd ('Entering OnMouseDown event handler: %d', [key.Note]);
PutShort ($90, key.Note, 127);
logd ('Exiting OnMouseDown event handler: %d', [key.Note]);
end; // note_down //

procedure TKeyBoard.note_up (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single);
var
key: TKey;
begin
key := Sender as TKey;
logd ('Entering OnMouseUp event handler: %d', [key.Note]);
PutShort ($80, Key.Note, 127);
logd ('Exiting OnMouseUp event handler: %d', [key.Note]);
end; // note_up //
...
Rectangle [i].OnMouseDown := note_down;
Rectangle [i].OnMouseUp := note_up;

note_down 和 note_up 例程根据调试代码立即进入和退出的位置。假设在处理 OnMouseDown 时,在处理 OnMouseUp 之前不能处理 OnMouseDown 是否正确?如果是这样,是否有解决方法?

最佳答案

试试 OnMouseEnter 移动设备。我正在做一个有很多矩形的项目,在我的代码中有

{$ifdef MSWINDOWS}
lRect.OnClick := ClickEvent;
{$else}
lRect.OnMouseEnter := ClickEvent;
{$endif}

这允许我做的是将我的手指拖过矩形网格,并让它为我经过的每个矩形调用我的 ClickEvent。

关于android - OnMouseDown 和 OnMouseUp 只能成对使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21521151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com