- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Delphi程序设计中鼠标控制
Delphi程序设计中的鼠标控制 2008-06-28 20:15 在Windows环境下,鼠标和键盘是主要的输入设备。 在Delphi中几乎每个对象都具有反映鼠标控制的事件, 这些事件的主要功能包括改变鼠标指针的形状,移动、触发、拖动鼠标等。 鼠标控制的三个相关属性是Cursor、DragCursor、DragMode; 鼠标(拖拽)控制的三个对象方法是BeginDrag、Dragging、EndDrag; 鼠标控制的七个事件包括OnDragDrop等。 一、改变鼠标指针的形状 改变鼠标指针的形状在Windows环境下是不可缺少的功能。 当应用程序在执行一个较长时间的指令或动作时, 我们可以改变鼠标指针的形状来通知用户程序执行的状态, 等到执行的动作完成之后,再把鼠标指针的形状变回来。 此外,在拖动的过程中我们也可以改变鼠标指针的形状,使拖动的过程更加清楚。 在编辑过程中,我们可以用属性Cursor和DragCursor改变鼠标指针的形状, 前者是记录鼠标指针在对象上出现的情况;后者是设定对象被拖动时鼠标指针的形状。 对于这两个属性,Delphi提供了如下值供用户选择:cdDefault、crArrow、cdCross、crBeam、crSize等十几个属性值。 二、鼠标的移动 鼠标移动时会触发事件OnMouseMove,语法如下: procedure ObjectMouseMove(Sender:TObject;Shift:TshiftState;X,Y:Integer) 其中参数Sender代表((目标对象)),参数Shift代表鼠标移动时需同时按下的组合键, 由{ssShift,ssAlt,ssCtrl,ssRight,ssLeft,ssMiddle,ssDouble}组成。 此外,我们也可以利用参数X和Y取得鼠标移动的坐标位置,通常我们使用OnMouseMove事件时,最重要的就是这两个参数。 三、鼠标按键 鼠标按键在窗口环境中也是最重要的输入方法之一, 同时还可以配合Shift,Alt,Ctrl三个键而发挥不同的作用。 和鼠标按键有关的事件有OnMouseDown和OnMouseUp。 当用户按下鼠标的一个键后,会触发OnMouseDown事件,其语法如下: procedure ObjectMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer); 参数Button指出按下的鼠标键是哪一个,可以是{mbLeft,mbRight,mbMiddle}三者之一。 参数Shift可以反映按下的键盘键与鼠标的关系, 其值是由{ssShift,ssAlt,ssCtrl,ssLeft,ssRight,ssMiddle,ssDouble}所组合而成的集合, 这些参数值分别代表Shift,Alt,Ctrl键、鼠标的左、中、右键,及同时按下左右键。 例如,同时按下鼠标的右键和Alt键,参数Shift的值就是{ssAlt,ssRight}。 四、鼠标的拖动(细节) (一)启动拖动状态 拖动状态的方式及启动是根据属性DragMode值的设定而决定的,可以分成两类情况: 1.不必程序控制 如果DragMode的值是dmAutomatic,当鼠标左键一按,对象就自动进入拖动状态。 2.需要程序控制 如果DragMode的值是dmManual,要使对象进入拖动状态,可以调用方法BeginDrag。 此外,Delphi提供一个对象方法Dragging,让程序判断对象是否进入拖动状态。 如果返回值是TRUE,代表已进入拖动状态,否则就是没有。 要使对象进入拖动状态,可以调用对象方法BeginDrag。 当对象进入拖动状态时,事件OnStartDrag会被触发,有关语法如下: 对象方法Dragging语法如下: function Dragging:Boolean; 对象方法BeginDrag语法如下: Procedure BeginDrag(Immediate:Boolean); 事件OnStartDrag语法如下: Procedure ObjectStartDrag(Sender:TObject;Var DragObject:TDragObject); (二)拖动中的事件 关于对象在拖动状态的事件有两个:OnDragDrop和OnDragOver。 假设把对象A拖动并放入对象B中,此时对象B的事件OnDragDrop会被触发。其语法如下: procedure ObjectDragDrop(Sender,Source:TObject;X,Y:Int
您可能关注的文档
- 操作系统-第三章进程管理4(同步与互斥1).ppt
- 初三1班2012年秋季第6次听力.doc
- 128311_螺纹钢是热轧带肋钢筋俗称.doc
- 12密云二模试题与答案.doc
- 操作系统第二章进程描述与控制.ppt
- 操作系统第二章进程描述与控制 09-10-2.ppt
- 接触网分类与供电方式.ppt
- 搅拌作用与搅拌机械分类.ppt
- 13.JavaBean组件在JSP中应用.ppt
- 14 汽车日常保养、一级、二级维护和安全.ppt
- GB 50140-2005 建筑灭火器配置设计规范.pdf
- GB 50098-98 人民防空工程设计防火规范.pdf
- GB 50098-2009 人民防空工程设计防火规范.pdf
- GB 50151-92 低倍数泡沫灭火系统设计规范(2000年版).pdf
- GB 50156-2012 汽车加油加气站设计与施工规范(2014年版).pdf
- GB 50160-92 石油化工企业设计防火规范(1999年版).pdf
- GB 50160-2008 石油化工企业设计防火标准(2018年版).pdf
- GB 50179-2015 河流流量测验规范:英文.pdf
- GB 50193-93 二氧化碳灭火系统设计规范(1999年版).pdf
- GB 50193-93 二氧化碳灭火系统设计规范(2010年版).pdf
有哪些信誉好的足球投注网站
文档评论(0)