5.2.2 响应鼠标事件
鼠标常被用作绘图的工具,应用程序利用鼠标位置的变化来绘制各种不同的图形。鼠标有三个动作:鼠标按钮按下、鼠标移动、鼠标按钮弹起。在Delphi中, 对应三个动作有三个不同的事件:OnMouseDown,OnMouseMove,OnMouseUp。
当Dlephi应用程序探测到一个鼠标动作时,它传递五个参数,并调用相应的事件响应。
程序员可利用这些参数来定义事件程序。五个参数如下表5.4:
表5.4 鼠标事件的五个参数
━━━━━━━━━━━━━━━━━━━━━━━━━━━
参数 含义
──────────────────────────
Sender 探测鼠标动作的对象
Button 涉及的鼠标按钮:左键,中键,右键
Shift 鼠标动作时,Alt,Ctrl,Shift按钮的状态
X,Y 事件发生时鼠标的坐标
━━━━━━━━━━━━━━━━━━━━━━━━━━━
当鼠标按下时发生OnMouseDown事件。举一个简单例子来说明程序如何对该事件进
行响应。假如我们想在鼠标按下的地方出现"Here"。
响应鼠标的OnMouseDown事件
可在该事件中调用TextOut方法:
procedure TForm1.FormMouseDown(Sender: TObject,Button: TMouseButton;
Shift : TShifState; X,Y : Integer);
begin
Canvas.TextOut(X, Y, 'Here!');
end;
用户放松鼠标键时发生OnMouseUp事件。该事件发生时,鼠标到达的对象并不一定是鼠标键按下时鼠标所在的对象。例如,用户可在窗体之外画一条线段,(鼠标在窗体外,线段在窗体内)。下面的代码可用鼠标绘制直线:
procedure TForm1.FormMouseDown(Sender:TObject)
begin
Moveto(x,y);
end;
procedure TForm1.FormMouse Up(Sender:Tobject)
begin
Lineto(X, Y);
end;
上一篇: Delphi图形图像编程(二)
下一篇: Delphi文件管理(三)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




