All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
IIS运行不了ASP.NET的解决办法_[Asp.Net教程]
学习动态网页技术PHP中错误处理的一些方法_php资料_编程技术
[delphi语法5]delphi中Case语句的使用方法
文字在网页上面的应用_[Html教程]
利用Asp.net,Ajax异步获取xml文档内容_[Asp.Net教程]
Delphi带进度条的状态栏实例
PHP初学者:配置Apache服务器并且设置DNS_php资料_编程技术
ASP.NET,2.0“插件”说_.net资料_编程技术
ASP.NET技巧:DataGrid的多行提交_[Asp.Net教程]
C#网络应用编程基础练习题与答案(三)_.net资料_编程技术
Reading number is top 10 pictures
Plump breasts1
运动的范冰冰2
做运动的校花1
乳娘帕梅拉安德森5
Summer is most suitable for young people to travel in China1
乳娘帕梅拉安德森4
Female model behind the bitterness, often being overcharged2
西游四格漫画(一)
So beauty, will let you spray blood8
Men don't mature ten sign
Download software ranking
Tram sex maniac 2 (H) rar bag7
变速齿轮3.26
卡丁车单机版
matrix2
The Bermuda triangle2
尖东毒玫瑰A
Tram sex maniac 2 (H) rar bag1
Call Of Duty2
asp.netWeb服务器高级编程
中国结婚习俗实录
aaa published in(发表于) 2014/7/19 0:08:59 Edit(编辑)
delphi不同程序间的拖曳操作方法-实例

delphi不同程序间的拖曳操作方法-实例

delphi不同程序间的拖曳操作方法|实例|技巧

不同程序间的拖曳操作

不同程序间的拖曳是经常用到的,比如将.doc 文件直接拖曳到打开的Word 里,即可以打开此.doc文件。

现在编写一个文件拖曳的示例程序,利用拖曳操作时触发WM_DROPFILES 消息。要实现文件的拖曳,需要在自己的程序中捕获并处理该消息。下面示例的功能是在Windows 系统中选中一个或多个文件,将这些文件拖曳到本应用程序上,应用程序利用WM_DROPFILES 消息得到拖曳到本程序的文件的路径及名称。

(1)新建一个项目。在窗体中添加一个Memo 组件,用于显示获得拖曳文件的路径及名称。

(2)程序代码如下:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, ExtCtrls,ShellApi;

type

TForm1 = class(TForm)

Memo1: TMemo;

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

procedure WMDROPFILES(var Message: TWMDROPFILES);message WM_DROPFILES;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);

begin

DragAcceptFiles(Form1.Handle, True);

end;

procedure TForm1.WMDROPFILES(var Message: TWMDROPFILES);

var

NumFiles : longint;

i : longint;

buffer : array[0..255] of char;

begin

NumFiles := DragQueryFile(Message.Drop,$FFFFFFFF,nil,0);

//有多少文件被放下

for i := 0 to (NumFiles - 1) do begin

//循环处理放下的文件,此处只是显示其文件名

DragQueryFile(Message.Drop,

i,

@buffer,

sizeof(buffer));

//获取文件名,保存到buffer

Form1.Memo1.Lines.Add(buffer);

//显示文件名

end;

DragFinish(Message.Drop);

//拖曳完毕,释放系统在传输文件名时分配的内存

end;

end.

(3)保存并执行程序,使用鼠标将选中的文件拖曳到示例程序中,可以看到Memo 组件中列出了相应文件的路径及文件名.




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.