我已經使用VirtualTree.IsVisible[n] := false;
隱藏了一些VirtualTreeView項目。如何選擇所有僅可見的VirtualTreeView項目?
在一個函數I通過使用VirtualTree.GetNextSelected(n);
方法所有選定的項目迭代。但有一個問題 - 如果我手動選擇一些項目,例如使用CTRL-單擊或SHIFT,則循環的項目就是選中的項目。
但是,如果我按Ctrl + A全選,然後GetNextSelected
給我的所有節點,包括那些被隱藏。
我做了一個解決方法,檢查if (VirtualTree.IsVisible[n]) ...
,以避免循環所有項目和只提取可見的,但這似乎是一個錯誤,或者有一個選項,控制如何CTRL + A將行爲 - 它只會選擇可見節點或所有這些?
所以這是一個錯誤也許我錯過了一些選擇項(我檢查他們全部)或我應該使用一些其他的方法只能通過可視節點的循環?
這是一個設計選擇,而不是一個錯誤。你必須適應它。 –
@DavidHeffernan你確定是這樣嗎?爲什麼選擇使用鍵盤SHIFT + ARROW鍵只選擇可見節點,而不是隱藏的可見節點之間的所有註釋? CTRL + A會選擇隱藏的,但SHIFT +箭頭不會呢? – Coder12345
關於CTRL +虛擬TreeView像大多數其他控件和Windows資源管理器一樣工作,對用戶來說,不同的行爲將是意外的,因此在我看來是不好的選擇。 –