了解拖放操作

“拖放”是在移动鼠标时按住计算机鼠标按钮,然后松开按钮以拖放对象。Delphi使程序拖放到应用程序中变得很容易。...

“拖放”是在移动鼠标时按住计算机鼠标按钮,然后松开按钮以拖放对象。Delphi使程序拖放到应用程序中变得很容易。

A woman's hand on a blue mouse A woman's hand on a blue mouse

您可以真正地从/拖放到任何您喜欢的地方,比如从一个窗体拖放到另一个窗体,或者从Windows资源管理器拖放到您的应用程序。

拖放示例

启动一个新项目并在窗体上放置一个图像控件。使用对象检查器加载图片(图片属性),然后将DragMode属性设置为dmManual。我们将创建一个程序,允许使用拖放技术移动TImage控件运行时。

dragmode

组件允许两种类型的拖动:自动和手动。Delphi使用DragMode属性来控制用户何时能够拖动控件。此属性的默认值为dmManual,这意味着不允许在应用程序周围拖动组件,除非在特殊情况下,我们必须为此编写适当的代码。无论DragMode属性的设置如何,只有在写入正确的代码以重新定位零部件时,零部件才会移动。

龙舌草

识别拖放的事件称为OnDragDrop事件。我们使用它来指定当用户丢弃一个对象时我们希望发生什么。因此,如果要将组件(图像)移动到表单上的新位置,必须为表单的OnDragDrop事件处理程序编写代码。

OnDragDrop事件的源参数是要删除的对象。源参数的类型为TObject。要访问它的属性,我们必须将其转换为正确的组件类型,在本例中为TImage。

接受

我们必须使用表单的OnDragOver事件来表示该表单可以接受我们想要丢弃的TImage控件。尽管Accept参数默认为True,但如果未提供OnDragOver事件处理程序,控件将拒绝拖动的对象(就像Accept参数更改为False一样)。

运行项目,并尝试拖放图像。请注意,当拖动鼠标指针移动时,图像在其原始位置保持可见。我们不能使用OnDragDrop过程使组件在拖动过程中不可见,因为只有在用户放置对象(如果有的话)后才会调用此过程。

德拉库索

如果要更改拖动控件时显示的光标图像,请使用DragCursor属性。DragCursor属性的可能值与Cursor属性的可能值相同。您可以使用动画光标或任何您喜欢的东西,如BMP图像文件或CUR光标文件。

出身

如果DragMode是dmAutomatic,则当光标位于控件上并按下鼠标按钮时,拖动将自动开始。如果将TImage的DragMode属性的值保留为默认值dmManual,则必须使用BeginDrag/EndDrag方法来允许拖动组件。一种更常见的拖放方式是将DragMode设置为dmManual,并通过处理鼠标按下事件开始拖动。

现在,我们将使用Ctrl+MouseDown键盘组合来允许进行拖动。将TImage的DragMode设置回dmManual,并按如下方式编写MouseDown事件处理程序:

BeginDrag接受一个布尔参数。如果我们传递True(如此代码中所示),则立即开始拖动;如果为False,则在将鼠标移动一小段距离之前不会启动。请记住,它需要Ctrl键。

  • 发表于 2021-10-19 19:21
  • 阅读 ( 133 )
  • 分类:IT

你可能感兴趣的文章

适用于运行ios 11的iPad的最佳拖放应用程序

...分视图多任务处理最终是有意义的。但最重要的是添加了拖放应用程序。 ...

  • 发布于 2021-03-11 18:40
  • 阅读 ( 164 )

4个有用的拖放式mac数据传输应用程序

...Dropzone 3的回顾将告诉您关于这个高级拖放应用程序需要了解的内容。 ...

  • 发布于 2021-03-17 03:03
  • 阅读 ( 210 )

什么是低代码,它是如何工作的?

...允许人们用较少的编码经验创建复杂的程序。今天,您将了解什么是低级代码,它是如何工作的,以及您是否应该在项目中使用它。 ...

  • 发布于 2021-03-19 21:14
  • 阅读 ( 184 )

如何在Windows10上设置默认文件拖放行为

...用过注册表编辑器,那么在开始使用之前,您可能需要先了解一下它。在进行以下更改之前,请务必备份注册表和计算机。 为了更安全,您可能需要在继续之前创建一个系统还原点。这样,如果出了问题,你就可以回到事情失...

  • 发布于 2021-04-02 00:55
  • 阅读 ( 166 )

automator 101:如何在mac上自动执行重复任务

...,这些工作流和片段可以为您快速执行这些重复的任务,了解Automator的工作原理和使用方法。

  • 发布于 2021-04-11 00:27
  • 阅读 ( 287 )

你应该了解的10个virtualbox技巧和高级功能

VirtualBox包含了您可能从未使用过的功能,即使您经常使用它运行虚拟机。VMware将其许多最好的功能保留在付费版本中,但VirtualBox的所有功能都是完全免费的。 这里的许多功能都需要在您的虚拟机中安装Guest Additi***。不管怎样...

  • 发布于 2021-04-11 16:54
  • 阅读 ( 189 )

询问如何操作极客:设置文件传输拖放区,在ipad上安装xbmc,使用控制台模拟器享受复古游戏

...了几个复古控制台和手持游戏系统,至少,会让你更好地了解整个仿真过程是如何工作的。 有急迫的技术问题吗?发送电子邮件至询问@tl80.cn我们会尽力回答的!

  • 发布于 2021-04-12 13:10
  • 阅读 ( 161 )

googledrive现在支持android的拖放操作

...用户增加了一个小而关键的功能。现在,用户可以将文件拖放到移动设备上的文件夹中。通过长按文档,您现在可以选择任意数量的文件,并相对轻松地在文件夹之间来回移动它们。此外,只需点击一系列按钮,就可以启动、固...

  • 发布于 2021-04-29 05:49
  • 阅读 ( 113 )

readdle的新拖放功能展示了苹果如何改进ipad上的多任务处理

...新,在iPad应用程序中增加了管理传统桌面电脑上文件的拖放功能。 拖放功能可以在Readdle自己的应用程序之间工作,同时在分屏模式下运行,但它做得相当整洁。文件可以直接从文件中拖拽到Spark的电子邮件中,也可以将老板发...

  • 发布于 2021-05-11 08:13
  • 阅读 ( 135 )

ios上的拖放功能比桌面上任何时候都强大

我对苹果WWDC发布iOS拖放的第一反应基本上是“哈哈,欢迎来到三十年前。”但在苹果后续平台State of the Union上观看了对这项技术更深入的技术解释之后,我开始怀疑苹果是否有了一种新的“点对点缩放”技术:这种技术不仅允...

  • 发布于 2021-05-11 12:07
  • 阅读 ( 143 )
u2kMwsok
u2kMwsok

0 篇文章

相关推荐