1
我正在使用onMouseMove的一个自定义提示,它正在正常工作我遇到的问题是返回字符串的完整路径,这是我的代码。Shelltreeview从节点获取路径
procedure TCoreVMain.CoreShellTreeViewMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
tree: TsShellTreeView;
hoverNode: TTreeNode;
hitTest : THitTests;
begin
if (Sender is TsShellTreeView) then
tree := TsShellTreeView(Sender)
else
Exit;
hoverNode := tree.GetNodeAt(X, Y) ;
hitTest := tree.GetHitTestInfoAt(X, Y) ;
if (lastHintNode <> hoverNode) then
begin
Application.CancelHint;
if (hitTest <= [htOnItem, htOnIcon, htOnLabel, htOnStateIcon]) then
begin
lastHintNode := hoverNode;
FileToolPanel.Caption := tree.path; //hovernode.Text;
tree.Hint := NodeHint(hoverNode) ;
end;
end;
end;
的hovernode.text只返回显示名称“温度”,而不是“C:\ TEMP”,我怎么能恢复时,节点项目上空盘旋,并没有选择节点的完整路径?
在此先感谢。
+1可以缩短为tree.Hint:= TShellFolder(tv.Selected.Data).PathName; – bummi 2013-03-27 09:58:19
@Bummi不完全是因为悬停节点与选定节点不同。 – 2013-03-27 09:59:48
谢谢你,这正是我一直在寻找的。 – Dennis445 2013-03-27 14:21:35