DELPHI基础教程:Delphi拖放编程[2]

作者&投稿:郯姚 (若有异议请与网页底部的电邮联系)
~

   拖放方法

  拖放方法有三个

  ●BeginDrag : 人工方式下开始一个拖动

  ●EndDrag : 结束一个拖动

  ●Dragging : 判断一个控件是否正被拖动

  这三个方法都被源控件使用

  当DragMode置为dmManual时 拖动必须调用控件的BeginDrag方法才能开始 BeginDrag有一个布尔参数Immediate 如果输入参数为True 拖动立即开始 光标改变到DragCursor的设置 如果输入参数为False 直到用户将光标移动了一定的距离( 个象素点)后才改变光标 开始拖动 这就允许控件接受一个OnClick事件而并不开始拖动操作

  EndDrag方法中止一个对象的被拖动状态 它有一个布尔参数Drop 如果Drop设置为True 被拖动的对象在当前位置放下(能否被接受由目标控件决定) 如果Drop设置为False 则拖动就地被取消

  下面一段程序表明当拖动进入一控制面板时拖动被取消

  procedure TForm Panel DragOver(Sender Source: TObject; X Y: Integer;

  State: TDragState; var Accept: Boolean)

  begin

  Accept := False;

  if (Source is TLabel) and (State = dsDragEnter) then

  (Source as TLabel) EndDrag(False)

  end;

  Draging方法判断一个控件是否正被拖动 在下面的例子中当用户拖动不同的检查框时窗口改变为不同的颜色

  procedure TForm FormActivate(Sender: TObject)

  begin

  CheckBox DragMode := dmAutomatic;

  CheckBox DragMode := dmAutomatic;

  CheckBox DragMode := dmAutomatic;

  end;

  procedure TForm FormDragOver(Sender Source: TObject; X Y: Integer;

  State: TDragState; var Accept: Boolean)

  begin

  if CheckBox Dragging then

  Color := clAqua;

  if CheckBox Dragging then

  Color := clYellow;

  if CheckBox Dragging then

  Color := clLime;

  end;

   开发拖放功能的一般步骤

  拖放作为Windows提供的一种方便操作对象的功能 在Delphi中可以很容易地开发出来 根据拖放操作的过程可以把开发步骤划分为四个阶段 即

  ● 开始拖动操作

  ● 接收拖动项目

  ● 放下拖动项目

  ● 终止拖动操作

  在介绍过程中我们将结合一个TabSet(标签集)的拖放操作实例 界面设计如图 在运行时当用户把一个标签拖动到另一个标签的位置时 该标签将移动到该位置并引起标签集的重新布置

   开始拖动操作

  当拖动模式(DragMode)设置为dmAutomatic时 用户在源控件上按下鼠标时拖动自动开始 当设置为dmManual时通过处理鼠标事件来决定拖动是否开始 如果想开始拖动调用BeginDrag方法

lishixinzhi/Article/program/Delphi/201311/25214




DELPHI基础教程:文件管理(一)[2]
DateTimeToFileDate :把Delphi日期格式转换为DOS日期格式 FileDateToDateTime :把DOS日期格式转换为Delphi日期格式 FileGetDate :返回文件的DOS日期时间戳 FileSetDate :设置文件的DOS日期时间戳 文件读写 Read Readln :从文本或记录文件中读取变量 Write :将指定变量写入文本或记录文件 Writeln :将指定变量...

DELPHI基础教程:剪贴板和动态数据交换(一)[3]
这一问题还要详细论述 最后的一点启示是 在Delphi程序开发中巧妙应用传统的Windows方法(如消息处理 API函数等)仍是很有必要的 而在应用这些方法中所体现的方便之处 正是Delphi胜过其它可视化开发工具的一个重要方面 Windows的DDE原理和 Dephi的DDE实现机制 Windows的DDE原理 ...

DELPHI基础教程:数据浏览部件的应用及编程(一)[1]
设置各数据浏览部件的DataField属性为数据集部件TTable或TQuery部件中存在的字段部件的名字 在这里需要注意的是 TDBGrid部件和TDBNavigator部件是自动地访问数据集部件中所有可以访问的字段部件的 因此它们是没有DataField属性的 对于这些部件可以跳过第 步 lishixinzhi\/Article\/program\/Delphi\/201311\/25151 ...

DELPHI基础教程:异常处理与程序调试(一)[3]
对象异常类 所谓对象异常是指非部件的对象引发的异常 Delphi定义的对象异常包括流异常 打印异常 图形异常 字符串链表异常等 流异常类 流异常类包括EStreamError EFCreateError EFOpenError EFilerError EReadError EWriteError EClassNotFound 它们的结构关系如下 EStreamError | EFCreateError | EFOpenError | E...

DELPHI基础教程:剪贴板和动态数据交换(一)[2]
建立一个剪贴板观察程序 首先该程序必须能响应相应的Windows消息 对于那些熟悉Microsoft公司Visual Basic的读者来说 这是令他们头疼而束手无策的地方 但Delphi在这方面却有良好的表现 利用关键字message 用户可以将一个过程定义为响应特定的Windows消息 如 procedure WMDrawClipboard(var Msg:MDrawClipboard)me...

DELPHI基础教程:剪贴板和动态数据交换(二)[1]
控制服务器应用程序的执行 客户程序控制服务器应用程序的一个方面是 必要的时候客户程序可以启动服务器程序 并装载会话主题 而客户程序控制服务器应用程序更重要的一点是向服务器发送服务器承认的宏命令 来完成对服务器应用程序的各种操作 服务器到底支持哪些宏命令 可参阅服务器应用程序文档 发送宏命令要使用...

DELPHI基础教程:异常处理与程序调试(二)[2]
利用Delphi的异常类机制我们可以定义自己的异常类来处理程序执行中的异常情况 同标准异常不同的是 这种异常情况并不是相对于系统的正常运行 而是应用程序的预设定状态 比如输入一个非法的口令 输入数据值超出设定范围 计算结果偏离预计值等等 使用自定义异常需要 自己定义一个异常对象类 自己引发一个异常 定...

DELPHI基础教程:数据访问部件的应用及编程(一)[3]
表 Delphi用于数据维护的方法 ━━━ 方 法 名 功 能 ──────────────────────────────Edit 将数据集置为编辑状态 ──────────────────────────────Append 投寄所有被修改的记录 将记录指针移到表中的最后一条记录 且将...

Delphi7开发基础教程的第1章
Delphi 7入门1.1 Delphi的简要发展情况1.2 Delphi 7的功能特点及其发布版本1.3 Delphi 7企业版的安装1.3.1 系统需求1.3.2 企业版安装1.4 Delphi 7集成开发环境1.4.1 集成开发环境的功能概述1.4.2 集成开发环境的组成1.4.3 主菜单栏1.4.4 工 具 栏1.4.5 组件面板1.4.6 工程和...

DELPHI基础教程:动态链接库编程(一)[1]
虽然在编写Windows程序时必然要涉及到DLLs 但利用Delphi 用户在大部分时候并不会注意到这一点 这一方面是因为Delphi提供了丰富的函数使用户不必直接去使用Windows API;另一方面即使使用Windows API 由于Delphi把API函数和其它Windows DLLs函数重新组织到了几个库单元中 因而也不必使用特殊的调用格式 所以本章的...

台州市17842535377: 求delphi的视频教程,要清晰,基础,完整的`````
鄹砖华益: 中山大学《Delphi面向对象程序设计》全51集视频讲座http://bbs.yangel.cn/thread-517-1-1.htmlnbsp;nbsp;中山大学视频教学Delphi面向对象程序设计(采用Delphi7.0软件视频教学)nbsp;共51讲nbsp;黎培兴博士、副教授主讲nbsp;.这个讲座对于初学DELPHI的朋友是非常有用的,可以明显加快学习的进度!图像清晰,每集一个课时,给在校学生讲课.第1-3集讲Objectnbsp;pascal语法,从第4集开始讲delphi运行环境等等.

台州市17842535377: Delphi入门教程是什么?
鄹砖华益: 按动ObjectInspector下端的“Events”页标签,使得Events页可见,这一定的事件后边的空白处,可以定义对象接受到相应事件时执行的动作

台州市17842535377: 请问谁有黑防的Delphi编程教程啊!!!
鄹砖华益: DELPHI基础教程 -------------------------------------------------------------------------------- 第一章 Delphi快速入门(一) 第一章 Delphi快速入门(二) 第一章 Delphi快速入门(三) 第一章 Delphi快速入门(四) 第一章 Delphi快速入门(五) 第二章 Delphi面...

台州市17842535377: Delphi语法基础?
鄹砖华益: Delphi语法基础2.1 保留字与标识符2.1.1 标识符 标识符是Object Pascal语言中各种成分 的名称,这些成分包括变量(Var)、常量(Const)、类型(Type)、过程(Procedure)、函数(Function)、方法(Method)、单元(Unit)等.标识符...

台州市17842535377: Delphi7开发基础教程的介绍 -
鄹砖华益: 《Delphi7开发基础教程》由牛汉民编著,科学出版社出版.本书共分7章,主要内容包括Delphi 7入门、Delphi语言基础、面向对象的程序设计技术、组件库体系结构及其使用、数据库应用系统开发基础、基于BDE的数据库应用程序开发和Delphi 7程序调试,可作为高等职业技术院校和相关认证课程教材,也可供从事Delphi 7应用开发的程序设计人员学习、参考.目录

台州市17842535377: 如何学习 delphi -
鄹砖华益: 终于有人问这个问题了!我虽然现在编程这里得分最多,但是很少有人问我最喜欢回答的问题.就凭你要学DELPHI,不给分我也好好回答!我是个DELPHI的忠实FANS.大学刚毕业.初中生可以学这个,这是肯定的.学习DELPHI,其实就是...

台州市17842535377: delphi的基础 -
鄹砖华益: File->New->Other 在New 页面下选取Console Application ,copy 你的代码 ,File选Save All ,F9运行,就会在你Save的目录找到需要的exe文件.

台州市17842535377: delphi菜鸟基础知识求解答 -
鄹砖华益: 将 CrpeOpenPrintJob 转成 TPEOpenPrintJob类型.同时 TPEOpenPrintJob类型是一个函数指针类型.reportFilePath为强转后的函数的参数.Result := TPEOpenPrintJob(CrpeOpenPrintJob...

台州市17842535377: 怎么自学Delphi?
鄹砖华益: 先阅读 delphi入门与精通丛书 然后看视频课程和做demo练习 完事找个师傅做高端的开发 例如三层架构 工控等等 delphi盒子 delphi原地 等等 都是比较出色的网站 看看其他有经验人的交流

台州市17842535377: 初学者应该怎么学好Delphi?
鄹砖华益: 谁都是从初学者过来的,语法,控件,函数不懂,就多记一些常用的函数,常用的控件的用法我也是初学者,但能勉强编点程序,回想刚开始学习时,照书敲程序都运行不了,都要气疯了我想学程序只要有信心,有兴趣,有毅力,有百折不挠的精神,就一定会行,学任何东西都有一个艰苦的过程,坚持下去就会有成果的对不起,我也没有说一些实质性的东西

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网