DELPHI中的拖动开发(2)[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 cureshy 的 blog

  directoryoutline是无条件的接受,而drivetabset需检查是否是合法的标签。

  

  3.拖动放下的响应

  directoryoutline的拖动放下用于实现文件移动功能。程序中调用confirmchange 事件
处理过程,目标路径由dirctoryoutline.items[getitem(x,y)].fullpath来得到。


procedure tfmform.directoryoutlinedragdrop(sender, source: tobject; x,

y: integer);

begin

if source is tfilelistbox then

with directoryoutline do

begin

confirmchange('move',filelist.filename, items[getitem(x, y)].fullpath);

end;

end;

  drivetabset的拖动放下用于实现文件拷贝功能。程序中把当前位置转化为相应的驱
动器号,目标路径由currentdirlist[drivetabset.tabindex]获得。

procedure tfmform.drivetabsetdragdrop(sender, source: tobject; x,y: integer);

var

apoint: tpoint;

begin

apoint.x := x; apoint.y := y;

drivetabset.tabindex := drivetabset.itematpos(apoint);

if source is tfilelistbox then

with drivetabset do

begin

if currentdirlist[tabindex] <> '' then

confirmchange('copy',thefilename,currentdirlist[tabindex]);

end;

end;


  4.filelist响应拖动结束,更新文件列表

procedure tfmform.filelistenddrag(sender, target: tobject; x, y: integer);

begin

if target <> nil then filelist.update;

end;

本文关键:DELPHI中的拖动开发(2)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top