网站大量收购独家精品文档,联系QQ:2885784924

DELPHI经典编程入门(9).pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 Delphi拖放编程 页码,1/9 [Delphi园地 ] 第九章 Delphi拖放编程 拖放(DragDrop)是Windows提供的一种快捷的操作方式。作为基于Windows的开发工具,Delphi同样支持拖放操作, 而且开发应用系统的拖放功能十分方便,真正体现了Delphi的强大功能和方便性。 Delphi提供的所有控件(Control,即能获得输入焦点的部件)都支持拖放操作,并有相应的拖放属性、拖放事件和 拖放方法。下面我们先介绍控件的拖放支持,而后再给出开发拖放操作的一般步骤和应用实例。 9.1 控件的拖放支持 拖放操作中控件可以分为源控件和目标控件两类。绝大部分控件既可以作为源控件也可以作为目标控件。但也有一 部分控件只能支持其中的一种。 9.1.1 拖放属性 拖放属性主要有两个: ● DragMode : 拖动模式 ● DragCursor : 拖动光标 它们都是在拖放的源控件中设置。DragMode控制用户在运行时间内当在控件上按下鼠标时控件如何反应。如果 DragMode置为dmAutomatic,那么当用户在控件上按下鼠标时拖动自动开始;如果DragMode置为dmManual (这是缺省 值),则将通过处理鼠标事件来判断一个拖动是否可以开始。 DragCursor用于选择拖动时显示的光标,缺省值是CrDrag,一般不要去修改它。在程序设计过程中通用的界面规范 应该得到开发者的尊重。但有时候为了特定的目的,开发者也可以把自己设计的光标赋给DragCursor。 9.1.2 拖放事件 拖放事件主要有三个: ●OnDragOver:拖动经过时激发 ●OnDragDrop:拖动放下时激发 ●OnEndDrop :拖动结束时激发 前两个事件由目标控件响应,后一个事件由源控件响应。 OnDragOver事件最主要的功能是确定当用户就地放下拖动时控件是否可以接受。它的参数包括: Source : TObject; {源控件} X,Y : Integer; {光标位置} State : TDragState; {拖动状态} var Accept : Boolean {能否接受} TDragState是一个枚举类型,表示拖放项目与目标控件的关系。 type TDragState = (dsDragEnter, dsDragLeave, dsDragMove); 不同取值的意义如下表: 第九章 Delphi拖放编程 页码,2/9 表9.1 DragState 的取值与意义 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 取 值 意 义 ─────────────────────────── dsDragEnter 拖动对象进入一个允许拖动对象放下 的控件中。为缺省状态。 dsDragLeave 拖动对象离开一个允许拖动对象放下 的控件。 dsDragMove 拖动对象在一个允许拖动对象放下的 控件内移动。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 用户可以利用提供的参数来确定放下的拖动是否可被接受,如: ● 判断源控件类型: Accept := Source is TLabel; ● 判断源控件对象: Accept := (Source = TabSet1); ● 判断光标位置: 见(9.2),(9.3)中的例程。 ● 判断拖动状态: If (Source is TLabel) and (State = dsDragMove) then beg

文档评论(0)

xina171127 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档