2010-03-31 5 views
6

here과 비슷한 SWT 트리에서 작업하고 있습니다. 그러나 확장 트리 항목 대신에 + 기호를 표시하고 싶을 수도 있습니다. 이것이 가능한가 ?SWT 트리 플러스/마이너스 아이콘을 변경하는 방법

그렇지 않은 경우 트리 항목의 확장/축소 상태에 대한 맞춤 아이콘이있는 Windows API가 있습니까?

+0

해결 방법은 Windows에서 TVE_EXPANDPARTIAL 메시지를 사용하는 것입니다. – Ali

답변

2

SWT Tree 구성 요소는 사용 가능한 경우 네이티브 트리 위젯을 사용합니다 (예 : Windows의 경우 - Linux에서 사용되는 UI 엔진에 따라 네이티브 위젯을 사용함). 사용자 정의 트리를 자체적으로 만들 수 있습니다.

네이티브 트리 위젯을 사용하는 OS에서는 + 및 - 아이콘을 사용자 정의 할 수 없습니다.

알리 (http://msdn.microsoft.com/en-us/library/bb773568%28VS.85%29.aspx 참조)가 제안 했으므로 TVE_EXPANDPARTIAL을 사용할 수 있지만 코드는 OS 버전에 따라 다름을 유의하십시오 (Windows 버전 내에서도).

TreeContentProvidergetImage() 방법을 사용하면 TVE_EXPANDPARTIAL을 사용하는 대신 맞춤 이미지를 사용하실 수 있습니다. 또한 코드가 OS 독립적인지 확인합니다.

+0

감사! TreeContentProvider는 SWT의 일부가 아니지만 ... 어떻게 할 것인지는 잘 모르겠지만 OS 의존적 인 코드에 대해 좋은 점을 제기해야합니다. 나는 64 비트 버전과 32 비트 버전의 SWTTree 서브 클래스를 구현했다. – Ali

+0

아! 나는 잊었다 ... 그것은 JFace의 일부이다. 관련 클래스는 TreeViewer입니다. –

+1

setImage는 실제로 +/- 아이콘을 변경하지 않습니다. +/- 아이콘의 오른쪽에 이미지를 추가합니다. – Ali

관련 문제