DRAWITEMSTRUCT 구조체(winuser.h)
소유자 창에서 소유자 그리기 컨트롤 또는 메뉴 항목을 그리는 방법을 결정하는 데 사용하는 정보를 제공합니다. 소유자가 그린 컨트롤 또는 메뉴 항목의 소유자 창은 이 구조체에 대한 포인터를 WM_DRAWITEM 메시지의 lParam 매개 변수로 받습니다.
구문
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
ULONG_PTR itemData;
} DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT;
멤버
CtlType
형식: UINT
컨트롤 형식입니다. 이 멤버는 다음 값 중 하나일 수 있습니다. 설명 부분을 참조하세요.
값 | 의미 |
---|---|
|
소유자가 그린 단추 |
|
소유자가 그린 콤보 상자 |
|
소유자가 그린 목록 상자 |
|
목록 보기 컨트롤 |
|
소유자가 그린 메뉴 항목 |
|
소유자가 그린 정적 컨트롤 |
|
탭 컨트롤 |
CtlID
형식: UINT
콤보 상자, 목록 상자, 단추 또는 정적 컨트롤의 식별자입니다. 이 멤버는 메뉴 항목에 사용되지 않습니다.
itemID
형식: UINT
메뉴 항목의 메뉴 항목 식별자 또는 목록 상자 또는 콤보 상자에 있는 항목의 인덱스입니다. 빈 목록 상자 또는 콤보 상자의 경우 이 멤버는 -1
일 수 있습니다. 이렇게 하면 컨트롤에 항목이 없더라도 애플리케이션이 rcItem 멤버가 지정한 좌표에 포커스 사각형만 그릴 수 있습니다. 이는 목록 상자 또는 콤보 상자에 포커스가 있는지 여부를 사용자에게 나타냅니다.
itemAction 멤버에서 비트를 설정하는 방법은 목록 상자 또는 콤보 상자에 포커스가 있는 것처럼 사각형을 그릴지 여부를 결정합니다.
itemAction
형식: UINT
필요한 그리기 작업입니다. 이 멤버는 하나 이상의 값일 수 있습니다.
값 | 의미 |
---|---|
|
전체 컨트롤을 그려야 합니다. |
|
컨트롤이 키보드 포커스를 잃거나 얻었습니다. itemState 멤버를 확인하여 컨트롤에 포커스가 있는지 여부를 확인해야 합니다. |
|
선택 상태 변경되었습니다. itemState 멤버를 선택하여 새 선택 상태를 결정해야 합니다. |
itemState
형식: UINT
현재 그리기 작업이 수행된 후 항목의 시각적 상태입니다. 이 멤버는 다음 표에 표시된 값의 조합일 수 있습니다.
hwndItem
형식: HWND
콤보 상자, 목록 상자, 단추 및 정적 컨트롤에 대한 컨트롤에 대한 핸들입니다. 메뉴의 경우 이 멤버는 항목이 포함된 메뉴에 대한 핸들입니다.
hDC
형식: HDC
디바이스 컨텍스트에 대한 핸들입니다. 이 디바이스 컨텍스트는 컨트롤에서 그리기 작업을 수행할 때 사용해야 합니다.
rcItem
형식: RECT
그릴 컨트롤의 경계를 정의하는 사각형입니다. 이 사각형은 hDC 멤버가 지정한 디바이스 컨텍스트에 있습니다. 시스템은 소유자 창이 콤보 상자, 목록 상자 및 단추에 대한 디바이스 컨텍스트에서 그리는 모든 항목을 자동으로 클립하지만 메뉴 항목을 잘라내지 않습니다. 메뉴 항목을 그릴 때 소유자 창은 rcItem 멤버가 정의한 사각형의 경계를 벗어나서는 안 됩니다.
itemData
형식: ULONG_PTR
메뉴 항목과 연결된 애플리케이션 정의 값입니다. 컨트롤의 경우 이 매개 변수는 LB_SETITEMDATA 또는CB_SETITEMDATA 메시지에 의해 목록 상자 또는 콤보 상자에 마지막으로 할당된 값을 지정합니다. 목록 상자 또는 콤보 상자에 LBS_HASSTRINGS 또는 CBS_HASSTRINGS 스타일이 있는 경우 이 값은 처음에 0입니다. 그렇지 않으면 이 값은 처음에 다음 메시지 중 하나의 lParam 매개 변수에 있는 목록 상자 또는 콤보 상자에 전달된 값입니다.
CtlType이 ODT_BUTTON 또는 ODT_STATIC 경우 itemData는 0입니다.설명
상태 막대와 같은 일부 컨트롤 형식은 CtlType 값을 설정하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | winuser.h(Windows.h 포함) |
추가 정보
참조