基础编程入门教程视频 DELPHI基础教程:Delphi拖放编程[4]
DELPHI基础教程:Delphi拖放编程[4]
DirectoryOutline DriveTabSet决定是否能接受拖动的就地放下
procedure TFMForm DirectoryOutlineDragOver(Sender Source: TObject; X
Y: Integer; State: TDragState; var Accept: Boolean)
begin
if Source is TFileListBox then
Accept := True;
end;
procedure TFMForm DriveTabSetDragOver(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(X Y))
Accept := (PropPos > ) and (PropPos < Tabs Count)
end;
end;
DirectoryOutline是无条件的接受 而DriveTabSet需检查是否是合法的标签
拖动放下的响应
![基础编程入门教程视频 DELPHI基础教程:Delphi拖放编程[4]](http://img.zhputi.com/uploads/4846/48463127400529be900c91f05ab4173531006.jpg)
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;
FileList响应拖动结束 更新文件列表
procedure TFMForm FileListEndDrag(Sender Target: TObject; X Y: Integer)
begin
if Target <> nil then FileList Update;
end;
到目前为止 我们的文件管理器功能已足够强大 不过还有许多问题值得读者去进
一步探讨 如
文件与应用程序关联的建立
在文件列表框中显示更多的文件信息
文件列表框中的文件按后缀各排序等
文件管理器是一个真正的综合例程 对它的钻研会使您更进一步模到Delphi编程的精髓
返回目录DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
lishixinzhi/Article/program/Delphi/201311/25212