Shell Control VCL 中的 PTShellTree 的 Drag&Drop 如何求得目錄?(50分)

  • 主题发起人 主题发起人 jiichen
  • 开始时间 开始时间
J

jiichen

Unregistered / Unconfirmed
GUEST, unregistred user!
已知 PTShellTree 目前指向 d:/aaa 故 PTShellTree1.SelectedPathName='d:/aaa'
想拖拉 ListBox 中的項目至 PTShellTree 中的某目錄(先假設為 d:/tmp 好了)
要如何求出 d:/tmp?

在 PTShellTree1.OnDragOver 中的程序
procedure TFilesForm.PTShellTree2DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
if (Sender is TPTShellTree) and (Source is TRxCheckListBox) then
begin
Accept:=true;
end;
end;

procedure TFilesForm.PTShellTree2DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
if (Sender is TPTShellTree) and (Source is TRxCheckListBox) then
begin
uMoveItems;
// 雖然將目標拖拉(Drag Drop) 至 d:/tmp ,但 PTShellTree1.SelectedPathName
// 依舊傳回 d:/aaa
end;
end;

一直無法得到 d:/tmp 的解,請能人高手回答,謝謝!
 
我不清楚PTShellTree这个控件的功能,
不过你可以这样试试:
在PTShellTree2DragDrop事件中
通过x,y得到mouse下的节点如node,
再将PTShellTree 的selected置为node
 
接受答案了.
 
后退
顶部