其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

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


发布日期:2019年10月04日
 
DELPHI基础教程:Delphi拖放编程[4]

DirectoryOutlineDriveTabSet决定是否能接受拖动的就地放下

procedure TFMFormDirectoryOutlineDragOver(Sender Source: TObject; X

Y: Integer; State: TDragState; var Accept: Boolean)

begin

if Source is TFileListBox then

Accept := True;

end;

procedure TFMFormDriveTabSetDragOver(Sender Source: TObject; X

Y: Integer; State: TDragState; var Accept: Boolean)

var

PropPos: Integer;

begin

if Source is TFileListBox then

with DriveTabSet do

begin

PropPos := ItemAtPos(Point(XY))

Accept := (PropPos > ) and (PropPos < TabsCount)

end;

end;

DirectoryOutline是无条件的接受而DriveTabSet需检查是否是合法的标签

拖动放下的响应

DirectoryOutline的拖动放下用于实现文件移动功能程序中调用ConfirmChange事件处理过程目标路径由DirctoryOutlineItems[GetItem(XY)]FullPath来得到

procedure TFMFormDirectoryOutlineDragDrop(Sender Source: TObject; XY: Integer)

begin

if Source is TFileListBox then

with DirectoryOutline do

begin

ConfirmChange(MoveFileListFileName Items[GetItem(X Y)]FullPath)

end;

end;

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

procedure TFMFormDriveTabSetDragDrop(Sender Source: TObject; XY: Integer)

var

APoint: TPoint;

begin

APointX := X; APointY := Y;

DriveTabSetTabIndex := DriveTabSetItemAtPos(APoint)

if Source is TFileListBox then

with DriveTabSet do

begin

if CurrentDirList[TabIndex] <> then

ConfirmChange(CopyTheFilenameCurrentDirList[TabIndex])

end;

end;

FileList响应拖动结束更新文件列表

procedure TFMFormFileListEndDrag(Sender Target: TObject; X Y: Integer)

begin

if Target <> nil then FileListUpdate;

end;

到目前为止我们的文件管理器功能已足够强大 不过还有许多问题值得读者去进

一步探讨

文件与应用程序关联的建立

在文件列表框中显示更多的文件信息

文件列表框中的文件按后缀各排序等

文件管理器是一个真正的综合例程对它的钻研会使您更进一步模到Delphi编程的精髓

返回目录DELPHI基础教程

编辑推荐

Java程序设计培训视频教程

JEE高级框架实战培训视频教程

Visual C++音频/视频技术开发与实战

Oracle索引技术

ORACLEG数据库开发优化指南

Java程序性能优化让你的Java程序更快更稳定

C嵌入式编程设计模式

Android游戏开发实践指南

[] [] [] []

               

上一篇:DELPHI基础教程:Delphi拖放编程[1]

下一篇:DELPHI基础教程:Delphi拖放编程[3]