我的控件(如TMemo)没有MouseWheel代码。如何添加正确的Wheel处理程序,使其滚动正确的Num行 - 如果ControlPanel每旋转设置3行,我需要3行来滚动一个旋转。
我的测试是
procedure TMyMemo.WMMouseWheel(var Message: TWMMouseWheel);
var
Delta: Integer;
begin
Delta:= Message.WheelDelta div 80 * Mouse.WheelScrollLines;//??????
ScrollPosY := ScrollPosY - Delta;
Message.Result := 1;
end;
我不认为80
是好的,它已经猜到了 - 它在这里工作(使用Win7)。如何获得正确的Num行滚动?
答案 0 :(得分:1)
我找到了好方法。我需要编写Protected
方法:
DoMouseWheelUp.....; override;
DoMouseWheelDown......; override;
并且在每个中,我必须滚动Delta = Mouse.WheelScrollLines
。