TVITEMA 구조체(commctrl.h)

트리 뷰 항목의 특성을 지정하거나 받습니다. 이 구조체는 TV_ITEM 구조체와 동일하지만 현재 명명 규칙을 따르도록 이름이 변경되었습니다. 새 애플리케이션은 이 구조체를 사용해야 합니다.

구문

typedef struct tagTVITEMA {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPSTR     pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
} TVITEMA, *LPTVITEMA;

멤버

mask

형식: UINT

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

의미
TVIF_CHILDREN
cChildren 멤버가 유효합니다.
TVIF_DI_SETITEM
트리 뷰 컨트롤은 제공된 정보를 유지하고 다시 요청하지 않습니다. 이 플래그는 TVN_GETDISPINFO 알림을 처리할 때만 유효합니다.
TVIF_HANDLE
hItem 멤버가 유효합니다.
TVIF_IMAGE
iImage 멤버가 유효합니다.
TVIF_PARAM
lParam 멤버가 유효합니다.
TVIF_SELECTEDIMAGE
iSelectedImage 멤버가 유효합니다.
TVIF_STATE
상태 및stateMask 멤버가 유효합니다.
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을 상태 이미지로 사용할 수 없음을 의미합니다. state 멤버의 비트 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

항목과 연결할 값입니다.

설명

참고

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

요구 사항

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