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