gpt4 book ai didi

delphi - Delphi XE2 中对鼠标滚轮功能的建议支持是什么?

转载 作者:行者123 更新时间:2023-12-03 15:43:50 29 4
gpt4 key购买 nike

既然 Delphi XE2 可用,我正在尝试整理我的代码 - 我的代码来自 Borland Pascal 7,因此有很多“旧”(但有效!)Win32 技术,自然我也考虑到了平台独立性。对鼠标滚轮的支持之前已经在几个先前的问题 1 23 中提出过。与其中一些答案一样,我自己的解决方案是使用 TApplicationEvents 组件进行简单的鼠标消息拦截:

  procedure TForm6.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);

procedure ProcessMouseWheelMessage;
begin
Msg.message := WM_KEYDOWN;

Msg.lParam := 0;

If Integer(Msg.wParam) > 0 then
Msg.wParam := VK_UP
else
Msg.wParam := VK_DOWN;

Handled := False;
end;

begin
Case Msg.message of
WM_MOUSEWHEEL :
ProcessMouseWheelMessage;
end;
end;

我今天重新访问了这段代码,因为“Msg.wParam”现在是 NativeInt,除非您使用 Integer(Msg.wParam),否则会破坏上述代码中负 Msg.wParam 值的使用。这让我注意到,我还没有看到任何真正明确的鼠标滚轮在 Delphi 代码中的使用 - 当所有鼠标现在都有轮子并且 Delphi 再次处于“最前沿”时,这真是太糟糕了!我本来期望有一个属性、一个组件或其他一些更“公开”的解决方案,那么 Fire Monkey 轮子支持怎么样?

我应该继续我的解决方案还是有更好的方法?

最佳答案

在 XE2(实际上是所有最近的版本)中,您不需要执行任何操作。标准控件支持开箱即用的鼠标滚轮滚动。只需摆脱这个旧代码即可。

关于delphi - Delphi XE2 中对鼠标滚轮功能的建议支持是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8166338/

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