다음을 통해 공유


DrawIconEx 함수(winuser.h)

지정된 디바이스 컨텍스트에 아이콘 또는 커서를 그리고, 지정된 래스터 작업을 수행하고, 지정된 대로 아이콘 또는 커서를 늘이거나 압축합니다.

구문

BOOL DrawIconEx(
  [in]           HDC    hdc,
  [in]           int    xLeft,
  [in]           int    yTop,
  [in]           HICON  hIcon,
  [in]           int    cxWidth,
  [in]           int    cyWidth,
  [in]           UINT   istepIfAniCur,
  [in, optional] HBRUSH hbrFlickerFreeDraw,
  [in]           UINT   diFlags
);

매개 변수

[in] hdc

형식: HDC

아이콘 또는 커서를 그릴 디바이스 컨텍스트에 대한 핸들입니다.

[in] xLeft

형식: int

아이콘 또는 커서의 왼쪽 위 모서리에 대한 논리적 x 좌표입니다.

[in] yTop

형식: int

아이콘 또는 커서의 왼쪽 위 모서리에 대한 논리적 y 좌표입니다.

[in] hIcon

형식: HICON

그릴 아이콘 또는 커서에 대한 핸들입니다. 이 매개 변수는 애니메이션 커서를 식별할 수 있습니다.

[in] cxWidth

형식: int

아이콘 또는 커서의 논리적 너비입니다. 이 매개 변수가 0이고 diFlags 매개 변수가 DI_DEFAULTSIZE 경우 함수는 SM_CXICON 시스템 메트릭 값을 사용하여 너비를 설정합니다. 이 매개 변수가 0이고 DI_DEFAULTSIZE 사용되지 않는 경우 함수는 실제 리소스 너비를 사용합니다.

[in] cyWidth

형식: int

아이콘 또는 커서의 논리적 높이입니다. 이 매개 변수가 0이고 diFlags 매개 변수가 DI_DEFAULTSIZE 경우 함수는 SM_CYICON 시스템 메트릭 값을 사용하여 너비를 설정합니다. 이 매개 변수가 0이고 DI_DEFAULTSIZE 사용되지 않는 경우 함수는 실제 리소스 높이를 사용합니다.

[in] istepIfAniCur

형식: UINT

hIcon이 애니메이션 커서를 식별하는 경우 그릴 프레임의 인덱스입니다. hIcon이 애니메이션 커서를 식별하지 않는 경우 이 매개 변수는 무시됩니다.

[in, optional] hbrFlickerFreeDraw

형식: HBRUSH

시스템이 깜박임 없는 그리기에 사용하는 브러시에 대한 핸들입니다. hbrFlickerFreeDraw가 유효한 브러시 핸들인 경우 시스템은 배경색에 지정된 브러시를 사용하여 오프스크린 비트맵을 만들고, 아이콘 또는 커서를 비트맵에 그린 다음, hdc로 식별된 디바이스 컨텍스트에 비트맵을 복사합니다. hbrFlickerFreeDrawNULL인 경우 시스템은 아이콘 또는 커서를 디바이스 컨텍스트에 직접 그립니다.

[in] diFlags

형식: UINT

그리기 플래그입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
DI_COMPAT
0x0004
이 플래그는 무시됩니다.
DI_DEFAULTSIZE
0x0008
cxWidthcyWidth 매개 변수가 0으로 설정된 경우 아이콘에 대한 시스템 메트릭 값으로 지정된 너비와 높이를 사용하여 아이콘 또는 커서를 그립니다. 이 플래그를 지정하지 않고 cxWidthcyWidth 를 0으로 설정하면 함수는 실제 리소스 크기를 사용합니다.
DI_IMAGE
0x0002
이미지를 사용하여 아이콘 또는 커서를 그립니다. 설명 부분을 참조하세요.
DI_MASK
0x0001
마스크를 사용하여 아이콘 또는 커서를 그립니다. 설명 부분을 참조하세요.
DI_NOMIRROR
0x0010
아이콘을 미러되지 않은 아이콘으로 그립니다. 기본적으로 hdc 가 미러링된 경우 아이콘이 미러된 아이콘으로 그려집니다.
DI_NORMAL
0x0003
DI_IMAGEDI_MASK 조합. 설명 부분을 참조하세요.

반환 값

형식: BOOL

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

DrawIconEx 함수는 아이콘의 왼쪽 위 모서리를 xLeftyTop 매개 변수로 지정된 위치에 배치합니다. 위치는 디바이스 컨텍스트의 현재 매핑 모드가 적용됩니다.

DI_IMAGEDI_MASK 플래그 중 하나만 설정된 경우 해당 비트맵은 SRCCOPY래스터 작업 코드로 그려집니다.

DI_IMAGE 플래그와 DI_MASK 플래그가 모두 설정된 경우:

  • 아이콘 또는 커서가 32비트 알파 혼합 아이콘 또는 커서인 경우 이미지는 AC_SRC_OVERblend 함수 로 그려지고 마스크는 무시됩니다.
  • 다른 모든 아이콘 또는 커서의 경우 마스크는 SRCAND래스터 작업 코드로 그려지고 이미지는 SRCINVERT래스터 작업 코드로 그려집니다.

복제 DrawIcon (hDC, X, Y, hIcon)하려면 다음과 같이 DrawIconEx 를 호출합니다.

DrawIconEx (hDC, X, Y, hIcon, 0, 0, 0, NULL, DI_NORMAL | DI_COMPAT | DI_DEFAULTSIZE); 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-gui-l1-1-0(Windows 8 도입)

추가 정보

개념

CopyImage

DrawIcon

아이콘

Loadimage

참조

Bitblt

AlphaBlend

BLENDFUNCTION