有沒有一種快速的方法來創建5個樹視圖項的5個子項的自定義提示?德爾福:樹視圖的自定義提示
我有TreeView,1個項目和5個子項目。我需要爲每個子項目(第一個 - 「F1」,第二個 - 「F2」等)提供一個特殊的提示。
我不能把這個應用到我的目的:http://delphi.about.com/od/vclusing/a/treenode_hint.htm?
有沒有一種快速的方法來創建5個樹視圖項的5個子項的自定義提示?德爾福:樹視圖的自定義提示
我有TreeView,1個項目和5個子項目。我需要爲每個子項目(第一個 - 「F1」,第二個 - 「F2」等)提供一個特殊的提示。
我不能把這個應用到我的目的:http://delphi.about.com/od/vclusing/a/treenode_hint.htm?
這聽起來像你只是想OnHint
事件:
procedure TMyForm.TreeView1Hint(Sender: TObject; const Node: TTreeNode; var Hint: string);
begin
Hint := Node.Text;
end;
有時,這種方法可能有點粗糙,並提供了一個Node
你是不是明顯的上空盤旋。如果你想要更多的控制,你可以使用GetNodeAt
和GetHitTestInfoAt
:
procedure TMyForm.TreeView1Hint(Sender: TObject; const Node: TTreeNode; var Hint: string);
var
P: TPoint;
MyNode: TTreeNode;
HitTestInfo: THitTests;
begin
P := TreeView1.ScreenToClient(Mouse.CursorPos);
MyNode := TreeView1.GetNodeAt(P.X, P.Y);
HitTestInfo := TreeView1.GetHitTestInfoAt(P.X, P.Y) ;
if htOnItem in HitTestInfo then begin
Hint := MyNode.Text;
end else begin
Hint := '';
end;
end;
的THitTests
的定義如下:
type
THitTest = (htAbove, htBelow, htNowhere, htOnItem, htOnButton, htOnIcon,
htOnIndent, htOnLabel, htOnRight, htOnStateIcon, htToLeft, htToRight);
THitTests = set of THitTest;
正如你可以看到這個給你很多細粒度的控制權何時你作爲提示展示的內容。
'TTreeView'沒有'OnHint'事件。 – 2011-06-16 20:10:25
也許你正在考慮'TListView.OnInfoTip'? – 2011-06-16 20:11:53
@Andreas我在Delphi 2010上用['TTreeView.OnHint'](http://docwiki.embarcadero.com/VCL/en/ComCtrls.TTreeView.OnHint)運行這段代碼。我確信它在那裏。 – 2011-06-16 20:19:02
你能提供更多的細節嗎?你試過的代碼會很好。 – Sorrow 2011-06-16 18:44:49
請更具體地瞭解它對於那些不適合您的代碼。我們並不熱衷於整天猜測。 – 2011-06-16 19:01:25
Rob Kenned,完成 – maxfax 2011-06-16 19:51:06