다음을 통해 공유


NM_CUSTOMDRAW 알림 코드

사용자 지정 그리기 작업에 대해 컨트롤의 부모 창에 알립니다. 이 알림 코드는 WM_NOTIFY 메시지 형식으로 전송됩니다.

NM_CUSTOMDRAW

#ifdef LIST_VIEW_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;

#elif TOOL_TIPS_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMTTCUSTOMDRAW) lParam;

#elif TREE_VIEW_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;

#elif TOOL_BAR_CUSTOM_DRAW

    lpNMCustomDraw = (LPNMTBCUSTOMDRAW) lParam;

#else

    lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;

#endif

매개 변수

lParam

그리기 작업에 대한 정보가 포함된 사용자 지정 그리기 관련 구조체를 가리키는 포인터입니다. 다음 목록에는 컨트롤 및 관련 구조체가 지정되어 있습니다.

컨트롤 사용자 지정 그리기 구조체
rebar, 트랙바, 헤더 NMCUSTOMDRAW
목록 뷰 NMLVCUSTOMDRAW
도구 설명 NMTTCUSTOMDRAW
트리 뷰 NMTVCUSTOMDRAW
Toolbar NMTBCUSTOMDRAW

반환 값

애플리케이션이 반환할 수 있는 값은 현재 그리기 단계에 따라 다릅니다. 연결된 NMCUSTOMDRAW 구조체의 dwDrawStage 멤버는 그리기 단계를 지정하는 값을 보유합니다. 다음 값 중 하나를 반환해야 합니다.

반환 코드 설명
CDRF_DODEFAULT
컨트롤이 자체적으로 그립니다. 이 그리기 주기에 대한 추가 NM_CUSTOMDRAW 알림 코드를 보내지 않습니다. 이 플래그는 다른 플래그와 함께 사용할 수 없습니다.
CDRF_DOERASE
컨트롤이 배경만 그립니다.
CDRF_NEWFONT
애플리케이션이 항목에 대한 새 글꼴을 지정했습니다. 컨트롤은 새 글꼴을 사용합니다. 글꼴 변경에 대한 자세한 내용은 글꼴 및 색 변경을 참조하세요. 이는 dwDrawStage가 CDDS_ITEMPREPAINT와 같을 때 발생합니다.
CDRF_NOTIFYITEMDRAW
컨트롤이 항목 관련 그리기 작업을 부모에 알립니다. 항목을 그리기 전후에 NM_CUSTOMDRAW 알림 코드를 보냅니다. 이는 dwDrawStage가 CDDS_PREPAINT와 같을 때 발생합니다.
CDRF_NOTIFYPOSTERASE
컨트롤은 항목을 지운 후 부모에게 알립니다. 이는 dwDrawStage가 CDDS_PREPAINT와 같을 때 발생합니다.
CDRF_NOTIFYPOSTPAINT
전체 컨트롤의 그리기 주기가 완료되면 컨트롤이 NM_CUSTOMDRAW 알림 코드를 보냅니다. 이는 dwDrawStage가 CDDS_PREPAINT와 같을 때 발생합니다.
CDRF_NOTIFYSUBITEMDRAW
각 목록 보기 하위 항목을 그리기 전에 애플리케이션에서 dwDrawStage가 CDDS_ITEMPREPAINT | CDDS_SUBITEM으로 설정된 NM_CUSTOMDRAW 알림 코드를 받습니다. 그러면 각 하위 항목에 대한 글꼴과 색을 별도로 지정하거나, 기본 처리를 위해 CDRF_DODEFAULT를 반환할 수 있습니다. 이는 dwDrawStage가 CDDS_ITEMPREPAINT와 같을 때 발생합니다.
CDRF_SKIPDEFAULT
애플리케이션이 항목을 수동으로 그렸습니다. 컨트롤은 항목을 그리지 않습니다. 이는 dwDrawStage가 CDDS_ITEMPREPAINT와 같을 때 발생합니다.
CDRF_SKIPPOSTPAINT
컨트롤이 항목 주위에 포커스 사각형을 그리지 않습니다.

설명

현재 다음과 같은 컨트롤에서는 헤더, 목록 보기, rebar, 도구 모음, 도구 설명, 트랙바 및 트리 뷰와 같은 사용자 지정 그리기 기능을 지원합니다. Comctl32.dll 버전 6을 사용할 수 있게 해 주는 애플리케이션 매니페스트가 있는 경우 단추 컨트롤에 대해서도 사용자 지정 그리기가 지원됩니다.

이 메시지를 대화 상자 프로시저에서 처리하는 경우 TRUE를 반환하기 전에 반환 값을 창 데이터의 일부로 설정해야 합니다. 자세한 내용은 DialogProc를 참조하세요.

요구 사항

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

추가 정보

개념

사용자 지정 그리기