2016-11-22 1 views
0

VirtualTree.IsVisible[n] := false;을 사용하여 일부 VirtualTreeView 항목을 숨겼습니다.선택 방법 보이는 VirtualTreeView 항목 만 있습니까?

하나의 함수에서 나는 VirtualTree.GetNextSelected(n); 메서드를 사용하여 모든 선택된 항목을 반복합니다. 하지만 문제가 있습니다. 예를 들어 Ctrl + 클릭 또는 Shift 키를 사용하여 몇 가지 항목을 수동으로 선택하면 반복되는 항목이 선택됩니다.

그러나 CTRL + A를 눌러 모두 선택하면 GetNextSelected은 숨겨진 노드를 포함하여 모든 노드를 제공합니다.

if (VirtualTree.IsVisible[n]) ...을 검사하여 모든 항목을 반복하지 않고 표시되는 항목 만 가져 오는 방법을 시도했지만 버그 또는 Ctrl + A의 동작 방식을 제어하는 ​​옵션이있는 것 같습니다. 보이는 노드 만 선택합니다. 또는 모두?

버그가 있거나 일부 선택 옵션을 놓친 것일까 요? (모두 살펴 보았습니다.) 또는 보이는 노드를 통해서만 반복하는 다른 방법을 사용해야합니까?

+2

버그가 아닌 디자인 선택입니다. 당신은 그것에 적응해야합니다. –

+1

@DavidHeffernan 이것이 사실입니까? 왜 키보드 SHIFT + ARROW 키를 사용하여 선택하는 것이 보이는 노드 만 선택하고 숨겨진 보이는 노드 사이의 모든 노트를 선택하지 않는 이유는 무엇입니까? CTRL + A는 숨겨진 것들을 선택하지만 SHIFT + Arrow는 그렇지 않을 수 있습니다. – Coder12345

+2

CTRL + A 관련 Virtual TreeView는 대부분의 다른 컨트롤 및 Windows 탐색기와 비슷하게 동작합니다. 사용자마다 다른 동작이 예상치 못한 결과를 낳을 수 있습니다. –

답변

1

데이비드 헤 퍼넌 (David Heffernan)과 요아킴 마더 (Joachim Marder)가 보여 주듯이, 그것은 설계 선택 사항이며 버그가 아닙니다. 이러한 이유로 GetNextSelected을 사용하여 항목을 반복 할 때 if (VirtualTree.IsVisible[n]) ...을 확인하여 표시 항목을 통해서만 반복 할 수있는 해결 방법을 제시해야합니다.

관련 문제