NMCUSTOMDRAW 구조체(commctrl.h)
NM_CUSTOMDRAW 알림 코드에 특정한 정보를 포함합니다.
구문
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
멤버
hdr
형식: NMHDR
이 알림 코드에 대한 정보를 포함하는 NMHDR 구조체입니다.
dwDrawStage
형식: DWORD
현재 그리기 단계입니다. 다음 값 중 하나입니다.
값 | 의미 |
---|---|
|
|
|
지우기 주기가 완료된 후 |
|
그리기 주기가 완료된 후 |
|
지우기 주기가 시작되기 전에. |
|
그리기 주기가 시작되기 전에. |
|
|
|
dwItemSpec, uItemState 및 lItemlParam 멤버가 유효하다는 것을 나타냅니다. |
|
항목을 지운 후. |
|
항목을 그린 후. |
|
항목을 지우기 전. |
|
항목을 그리기 전. |
|
하위 항목을 그린 경우 CDDS_ITEMPREPAINT 또는 CDDS_ITEMPOSTPAINT와 결합된 플래그입니다. CDRF_NOTIFYITEMDRAW가 CDDS_PREPAINT에서 반환된 경우에만 설정됩니다. |
hdc
형식: HDC
컨트롤의 디바이스 컨텍스트에 대한 핸들입니다. 이 HDC를 사용하여 GDI 함수를 수행합니다.
rc
형식: RECT
그려지는 영역의 경계 사각형을 설명하는 RECT 구조체입니다. 이 멤버는 CDDS_ITEMPREPAINT 알림에 의해서만 초기화됩니다. 버전 5.80. 이 멤버는 CDDS_PREPAINT 알림에 의해 초기화됩니다.
dwItemSpec
형식: DWORD_PTR
항목 번호입니다. 이 멤버에 포함된 항목은 알림을 보내는 컨트롤 유형에 따라 달라집니다. 특정 컨트롤에 대한 NM_CUSTOMDRAW 알림 참조를 참조하여 이 멤버에 포함된 항목(있는 경우)을 확인합니다.
uItemState
형식: UINT
현재 항목 상태입니다. 이 값은 다음 플래그의 조합입니다.
값 | 의미 |
---|---|
|
항목이 선택되어 있습니다. |
|
항목이 기본 상태에 있습니다. |
|
항목을 사용할 수 없습니다. |
|
항목이 포커스에 있습니다. |
|
항목이 회색으로 나타납니다. |
|
항목은 현재 포인터("핫") 아래에 있습니다. |
|
항목이 결정되지 않은 상태에 있습니다. |
|
항목이 표시됩니다. 이 것의 의미는 구현에 의해 결정됩니다. |
|
항목이 선택되어 있습니다.
참고 이 플래그는 LVS_SHOWSELALWAYS 스타일이 있는 소유자가 그린 목록 보기 컨트롤에 대해 제대로 작동하지 않습니다. 이러한 컨트롤의 경우 LVM_GETITEMSTATE(또는 ListView_GetItemState )을 사용하고 LVIS_SELECTED플래그를 확인하여 항목을 선택할지 여부를 확인할 수 있습니다.
|
|
버전 6.0.항목에 키보드 신호가 표시됩니다. Comctl32 버전 6은 재배포할 수 없습니다. 운영 체제. Comctl32.dll 버전 6을 사용하려면 매니페스트에 지정합니다. 매니페스트에 대한 자세한 내용은 시각적 스타일 사용을 참조하세요. |
|
항목은 현재 마우스 포인터("핫") 아래에 있는 컨트롤의 일부이지만 항목 자체는 "핫"이 아닙니다. 이 것의 의미는 구현에 의해 결정됩니다. |
|
항목은 현재 마우스 포인터("핫") 아래에 있는 분할 단추의 일부이지만 항목 자체는 "핫"이 아닙니다. 이 것의 의미는 구현에 의해 결정됩니다. |
|
항목은 현재 끌어서 놓기 작업의 놓기 대상입니다. |
lItemlParam
형식: LPARAM
애플리케이션 정의 항목 데이터입니다.
설명
애플리케이션에서 반환하는 값은 현재 그리기 단계에 따라 달라집니다. 연결된 NMCUSTOMDRAW 구조체의 dwDrawStage 멤버는 그리기 단계를 지정하는 값을 보유합니다. dwDrawStage 멤버가 CDDS_PREPAINT 및 CDDS_PREERASE 같으면 일부 컨트롤은 먼저 CDDS_PREERASE 메시지를 보내고 반환 값이 전송될 후속 메시지를 나타낼 것으로 예상합니다. 상태 및 그리기 단계를 보여 주는 코드 샘플은 사용자 지정 그리기를 사용하여 컨트롤의 모양 사용자 지정을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | commctrl.h |