D7+MO,在鼠标滚轴事件中,结果无论按下Ctrl键还是Shift键,滚动鼠标时,都执行相同的语句,为什么?

wilowind 2003-12-25 10:50:09
在鼠标滚轴事件中,分别对按下鼠标键 Ctrl 和 Shift 进行处理,结果无论按下Ctrl键还是Shift键,滚动鼠标时,都执行语句“缩小地图”,为什么?谁碰到过。

单步跟踪发现 变量 shift的值是正确的,即按下Shift时,shift=[ssShift].




procedure TFormManager.FormMouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
rect : Rectangle;

begin
if Shift = [ssCtrl] then
begin // 如果Ctrl键按下
rect := MapLarge.Extent;
rect.ScaleRectangle(variant(0.95)); // 缩小地图
MapLarge.Extent := rect;
end
else if Shift = [ssShift] then
begin // 如果Shift键按下,右移地图
MapLarge.CenterAt(MapLarge.Extent.Center.X+0.5, MapLarge.Extent.Center.Y);
end;
end;
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilowind 2004-01-15
  • 打赏
  • 举报
回复
顶到有人答为止
wilowind 2004-01-12
  • 打赏
  • 举报
回复
自己顶
wilowind 2003-12-28
  • 打赏
  • 举报
回复
难道就没有一个人碰到过!??!
klbt 2003-12-25
  • 打赏
  • 举报
回复
问题很奇怪,没有遇到过。

2,142

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧