- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 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);
不同取值的意义如下表:
表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
begin
source.DragIcon := Ne
您可能关注的文档
- 网络工程师资料chapter10.pdf
- C语言最新编程技巧200例第15章 MIDAS编程.pdf
- Delphi 5 应用程序设计实例.pdf
- ISO9001和CMM的比较(英文).pdf
- 【Window 消息大全使用详解】.pdf
- 编译原理习题精选分析与解答 .pdf
- 计算机基础教学:第2讲 DOS磁盘操作系统.pdf
- 人工智能的故事.pdf
- 实验五 访问控制列表及地址转换-待审核.pdf
- 中国名菜徽皖风味.pdf
- 铁道机车专业机车运用实习HXD3C型机车低压试验168课件.pptx
- 第1章 走近细胞(课件)高一生物上学期期中考点(人教版2019必修1).pptx
- Unit 5 Fun Clubs Section B 1a-1d 课件 人教版(2024)七年级英语上册.pptx
- 专题四 只有坚持和发展中国特色社会主义才能实现中华民族伟大复兴(课件)高考政治一轮复习课件(新高考通用).pptx
- 考点32 人体的内环境与稳态(课件)高考生物一轮复习(新高考通用).pptx
- 2.4 蛋白质是生命活动的主要承担者-高一生物课件(人教版2019必修1) (2).pptx
- 2.7 百家争鸣 课件 统编版2024七年级历史上册 (2).pptx
- 2.2 群落的主要类型课件-高二上学期生物人教版选择性必修二.pptx
- 4.3 生活中的透镜(课件)八年级物理上册(北师大版(北京)2024).pptx
- 5.4 摩擦力(课件)八年级物理上册(沪科版(五四学制)2024).pptx
文档评论(0)