TVITEMEXA 구조체(commctrl.h)

트리 뷰 항목의 특성을 지정하거나 받습니다. 이 구조체는 TVITEM 구조체의 향상된 기능입니다. 새 애플리케이션은 적절한 경우 이 구조체를 사용해야 합니다.

구문

typedef struct tagTVITEMEXA {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPSTR     pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
  int       iIntegral;
  UINT      uStateEx;
  HWND      hwnd;
  int       iExpandedImage;
  int       iReserved;
} TVITEMEXA, *LPTVITEMEXA;

멤버

mask

형식: UINT

유효한 데이터를 포함하는 다른 구조체 멤버를 나타내는 플래그의 배열입니다. 이 구조체를 TVM_GETITEM 메시지와 함께 사용하면 마스크 멤버는 검색할 항목 특성을 나타냅니다. TVM_SETITEM 메시지와 함께 사용하는 경우 마스크는 설정할 특성을 나타냅니다. 이 멤버는 다음 값 중 하나 이상일 수 있습니다.

의미
TVIF_CHILDREN
cChildren 멤버가 유효합니다.
TVIF_DI_SETITEM
트리 뷰 컨트롤은 제공된 정보를 유지하고 다시 요청하지 않습니다. 이 플래그는 TVN_GETDISPINFO 알림을 처리할 때만 유효합니다.
TVIF_EXPANDEDIMAGE

버전 6.00Windows Vista.iExpandedImage 멤버가 유효합니다.

TVIF_HANDLE
hItem 멤버가 유효합니다.
TVIF_IMAGE
iImage 멤버가 유효합니다.
TVIF_INTEGRAL
iIntegral 멤버가 유효합니다.
TVIF_PARAM
lParam 멤버가 유효합니다.
TVIF_SELECTEDIMAGE
iSelectedImage 멤버가 유효합니다.
TVIF_STATE
상태 및stateMask 멤버가 유효합니다.
TVIF_STATEEX

버전 6.00Windows Vista.uStateEx 멤버가 유효합니다.

TVIF_TEXT
pszTextcchTextMax 멤버는 유효합니다.

hItem

형식: HTREEITEM

항목에 대한 핸들입니다.

state

형식: UINT

항목의 상태를 나타내는 비트 플래그 및 이미지 목록 인덱스 집합입니다. 항목의 상태를 설정할 때 stateMask 멤버는 이 멤버의 유효한 비트를 나타냅니다. 항목의 상태를 검색할 때 이 멤버는 stateMask 멤버에 표시된 비트의 현재 상태를 반환합니다. 이 멤버에 대한 자세한 내용은 설명 섹션을 참조하세요.

이 멤버의 비트 0~7에는 항목 상태 플래그가 포함됩니다. 가능한 항목 상태 플래그 목록은 트리 보기 컨트롤 항목 상태를 참조하세요.

이 멤버의 비트 8~11은 1부터 시작하는 오버레이 이미지 인덱스를 지정합니다. 오버레이 이미지는 항목의 아이콘 이미지 위에 중첩됩니다. 이러한 비트가 0이면 항목에 오버레이 이미지가 없습니다. 이러한 비트를 격리하려면 TVIS_OVERLAYMASK 마스크를 사용합니다. 이 멤버에서 오버레이 이미지 인덱스를 설정하려면 INDEXTOOVERLAYMASK 매크로를 사용합니다. 이미지 목록의 오버레이 이미지는 ImageList_SetOverlayImage 함수로 설정됩니다.

애플리케이션 정의 상태를 나타내기 위해 항목 아이콘 옆에 상태 이미지가 표시됩니다. TVM_SETIMAGELIST 메시지를 보내 상태 이미지 목록을 지정합니다. 항목의 상태 이미지를 설정하려면 TVITEM 구조체의 stateMask 멤버에 TVIS_STATEIMAGEMASK 값을 포함합니다. 구조체의 state 멤버의 비트 12~15는 그릴 이미지의 상태 이미지 목록에 있는 인덱스를 지정합니다.

상태 이미지 인덱스를 설정하려면 INDEXTOSTATEIMAGEMASK를 사용합니다. 이 매크로는 인덱스를 사용하고 비트 12~15를 적절하게 설정합니다. 항목에 상태 이미지가 없음을 나타내려면 인덱스를 0으로 설정합니다. 이 규칙은 상태 이미지 목록의 이미지 0을 상태 이미지로 사용할 수 없음을 의미합니다. 상태 멤버의 비트 12~15를 격리하려면 TVIS_STATEIMAGEMASK 마스크를 사용합니다.

stateMask

형식: UINT

유효한 상태 멤버의 비트입니다. 항목의 상태를 검색하는 경우 stateMask 멤버의 비트를 설정하여 상태 멤버에서 반환할 비트를 나타냅니다. 항목의 상태를 설정하는 경우 stateMask 멤버의 비트를 설정하여 설정할 상태 멤버의 비트를 나타냅니다. 항목의 오버레이 이미지 인덱스를 설정하거나 검색하려면 TVIS_OVERLAYMASK 비트를 설정합니다. 항목의 상태 이미지 인덱스를 설정하거나 검색하려면 TVIS_STATEIMAGEMASK 비트를 설정합니다.

pszText

형식: LPTSTR

구조체가 항목 특성을 지정하는 경우 항목 텍스트가 포함된 null로 끝나는 문자열에 대한 포인터입니다. 이 멤버가 LPSTR_TEXTCALLBACK 값이면 부모 창에서 이름을 저장해야 합니다. 이 경우 트리 뷰 컨트롤은 항목 텍스트가 변경되면 항목 텍스트를 표시, 정렬 또는 편집하기 위한 항목 텍스트와 TVN_SETDISPINFO 알림 코드가 필요할 때 부모 창에 TVN_GETDISPINFO 알림 코드를 보냅니다. 구조체가 항목 특성을 수신하는 경우 이 멤버는 항목 텍스트를 수신하는 버퍼의 주소입니다. 트리 뷰 컨트롤을 사용하면 모든 길이 문자열을 항목 텍스트로 저장할 수 있지만 처음 260자만 표시됩니다.

cchTextMax

형식: int

pszText 멤버가 가리키는 버퍼의 크기(문자)입니다. 이 구조체를 사용하여 항목 특성을 설정하는 경우 이 멤버는 무시됩니다.

iImage

형식: int

항목이 선택되지 않은 상태일 때 사용할 아이콘 이미지의 트리 뷰 컨트롤 이미지 목록의 인덱스입니다. 이 멤버가 I_IMAGECALLBACK 값인 경우 부모 창은 인덱스 저장을 담당합니다. 이 경우 트리 뷰 컨트롤은 이미지를 표시해야 할 때 인덱스를 검색하는 TVN_GETDISPINFO 알림 코드를 부모에 보냅니다.

iSelectedImage

형식: int

항목이 선택한 상태일 때 사용할 아이콘 이미지의 트리 뷰 컨트롤 이미지 목록의 인덱스입니다. 이 멤버가 I_IMAGECALLBACK 값인 경우 부모 창은 인덱스 저장을 담당합니다. 이 경우 트리 뷰 컨트롤은 이미지를 표시해야 할 때 인덱스를 검색하는 TVN_GETDISPINFO 알림 코드를 부모에 보냅니다.

cChildren

형식: int

항목에 연결된 자식 항목이 있는지 여부를 나타내는 플래그입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.

의미
0
항목에 자식 항목이 없습니다.
하나
항목에 하나 이상의 자식 항목이 있습니다.
I_CHILDRENCALLBACK
부모 창은 항목에 자식 항목이 있는지 여부를 추적합니다. 이 경우 트리 뷰 컨트롤이 항목을 표시해야 하는 경우 컨트롤은 부모에게 TVN_GETDISPINFO 알림 코드를 보내 항목에 자식 항목이 있는지 여부를 확인합니다. 트리 뷰 컨트롤에 TVS_HASBUTTONS 스타일이 있는 경우 이 멤버를 사용하여 자식 항목의 존재를 나타내는 단추를 표시할지 여부를 결정합니다. 이 멤버를 사용하여 항목에 자식 항목이 삽입되지 않은 경우에도 컨트롤이 단추를 강제로 표시할 수 있습니다. 이렇게 하면 항목이 표시되거나 확장된 경우에만 자식 항목을 삽입하여 컨트롤의 메모리 사용량을 최소화하면서 단추를 표시할 수 있습니다.
I_CHILDRENAUTO

버전 6.0내부용입니다. 애플리케이션에서 사용하지 않는 것이 좋습니다. 트리 뷰 컨트롤은 항목에 자식 항목이 있는지 여부를 자동으로 결정합니다.

참고 이 플래그는 이후 버전의 Comctl32.dll 지원되지 않을 수 있습니다. 또한 이 플래그는 commctrl.h에 정의되어 있지 않습니다. 플래그를 사용하려면 애플리케이션의 원본 파일에 다음 정의를 추가합니다.
#define I_CHILDRENAUTO (-2)
 

lParam

형식: LPARAM

항목과 연결할 값입니다.

iIntegral

형식: int

항목의 높이(표준 항목 높이의 배수)입니다( TVM_SETITEMHEIGHT 참조). 예를 들어 이 멤버를 2로 설정하면 항목의 표준 높이가 두 배입니다. 트리 뷰 컨트롤은 항목 콘텐츠 아래에 표시되는 추가 영역에 그리지 않지만 사용자 지정 그리기를 사용할 때 애플리케이션에서 그리는 데 이 공간을 사용할 수 있습니다. 사용자 지정 그리기를 사용하지 않는 애플리케이션은 동작이 정의되지 않았으므로 이 값을 1로 설정해야 합니다.

uStateEx

형식: UINT

인터넷 Explorer 6 이상. 다음 확장 상태 중 하나 이상(비트 조합)입니다.

의미
TVIS_EX_DISABLED
Windows Vista 이상. 사용자가 상호 작용할 수 없는 회색으로 그려진 컨트롤을 만듭니다.
TVIS_EX_FLAT
플랫 항목을 만듭니다. 항목은 가상이며 트리에 표시되지 않습니다. 대신 해당 자식은 트리 계층 구조에서 해당 위치를 차지합니다. 이 상태는 트리 뷰 컨트롤에 항목을 추가할 때만 유효합니다.
TVIS_EX_HWND
항목에 대해 별도의 HWND를 만듭니다. 이 상태는 트리 뷰 컨트롤에 항목을 추가할 때만 유효합니다.

hwnd

형식: HWND

인터넷 Explorer 6 이상. 사용되지 않음; 은 NULL이어야 합니다.

iExpandedImage

형식: int

인터넷 Explorer 6 이상. 항목이 확장된 상태일 때 표시할 컨트롤의 이미지 목록에 있는 이미지의 인덱스입니다.

iReserved

형식: int

예약된 멤버입니다. 사용하지 마십시오.

설명

참고

commctrl.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 TVITEMEX를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 commctrl.h

추가 정보

Tree-View 항목 추가