3
我在Delphi中使用TTreeview組件,並且我已經自定義了拖放功能。 我開始向下拖動鼠標(因爲它是自定義行爲),但我不想在用戶單擊+/-或展開和摺疊圖標時開始拖動事件。命中測試TTreview加/減(摺疊/展開)圖標 - Delphi
有沒有辦法知道用戶是否點擊了節點的標題或展開/摺疊圖標?
謝謝!
我在Delphi中使用TTreeview組件,並且我已經自定義了拖放功能。 我開始向下拖動鼠標(因爲它是自定義行爲),但我不想在用戶單擊+/-或展開和摺疊圖標時開始拖動事件。命中測試TTreview加/減(摺疊/展開)圖標 - Delphi
有沒有辦法知道用戶是否點擊了節點的標題或展開/摺疊圖標?
謝謝!
TTreeView
組件包括用於此目的的GetHitTestInfoAt
方法。
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
HitTests: THitTests;
begin
HitTests := TreeView1.GetHitTestInfoAt(X, Y);
if htOnButton in HitTests then
//do something
else if htOnLabel in HitTests then
//do something else
else if ......
如何選擇樹節點如果我點擊僅在展開/摺疊圖標?謝謝。 – grinner 2014-12-10 07:13:39
@tdiop檢測合適的htXXX。用戶不會感謝你。 – 2014-12-10 07:18:09
好吧,htOnButton和TreeView1.GetNodeAt(X,Y)做了訣竅。 (: – grinner 2014-12-10 07:47:00