DwmSetIconicThumbnail 함수(dwmapi.h)
창 또는 탭에서 축소판 그림 표현으로 사용할 정적 아이콘 비트맵을 설정합니다. 작업 표시줄은 이 비트맵을 창 또는 탭의 축소판 그림 스위치 대상으로 사용할 수 있습니다.
구문
HRESULT DwmSetIconicThumbnail(
[in] HWND hwnd,
[in] HBITMAP hbmp,
[in] DWORD dwSITFlags
);
매개 변수
[in] hwnd
창 또는 탭에 대한 핸들입니다. 이 창은 호출 프로세스에 속해야 합니다.
[in] hbmp
hwnd에서 지정하는 창을 나타내는 비트맵에 대한 핸들입니다.
[in] dwSITFlags
썸네일의 표시 옵션입니다. 다음 값 중 하나입니다.
0 (0x00000000)
제공된 썸네일 주위에 프레임이 표시되지 않습니다.
DWM_SIT_DISPLAYFRAME(0x00000001)
제공된 썸네일 주위에 프레임을 표시합니다.
반환 값
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
애플리케이션은 일반적으로 해당 창에 대한 WM_DWMSENDICONICTHUMBNAIL 메시지를 받은 후 DwmSetIconicThumbnail 함수를 호출합니다. 썸네일은 해당 메시지에 지정된 최대 x 좌표 및 y 좌표를 초과해서는 안 됩니다. 썸네일의 색 깊이도 32비트여야 합니다.
애플리케이션은 DwmInvalidateIconicBitmaps 를 호출하여 DWM(데스크톱 창 관리자)에 상징적인 미리 보기 및 라이브 미리 보기 비트맵이 오래된 상태이며 새로 고쳐야 함을 나타냅니다. 그런 다음 DWM은 필요할 때 창에서 새 버전을 요청합니다. 그러나 DWM 비트맵 캐시가 가득 차면 DWM은 업데이트된 버전을 요청하지 않습니다.
DWM은 비트맵의 복사본을 사용하지만 애플리케이션은 메모리 제약 조건으로 인해 언제든지 이 복사본을 해제할 수 있습니다. 복사본이 릴리스되면 창에 알림이 표시되지 않지만 축소판 그림이 다시 필요할 때 후속 WM_DWMSENDICONICTHUMBNAIL 요청을 받을 수 있습니다. 호출자는 원래 비트맵의 소유권을 유지하고 더 이상 필요하지 않을 때 사용하는 리소스를 해제할 책임이 있습니다.
예제
DwmSetIconicThumbnail을 호출하기 전에 애플리케이션은 먼저 DwmSetWindowAttribute 함수를 호출하여 다음 예제와 같이 DWMWA_FORCE_ICONIC_REPRESENTATION 및 DWMWA_HAS_ICONIC_BITMAP 특성을 설정해야 합니다.
// Set DWM window attributes to provide the iconic bitmap, and
// to always render the thumbnail using the iconic bitmap.
BOOL fForceIconic = TRUE;
BOOL fHasIconicBitmap = TRUE;
DwmSetWindowAttribute(
hwnd,
DWMWA_FORCE_ICONIC_REPRESENTATION,
&fForceIconic,
sizeof(fForceIconic));
DwmSetWindowAttribute(
hwnd,
DWMWA_HAS_ICONIC_BITMAP,
&fHasIconicBitmap,
sizeof(fHasIconicBitmap));
다음으로, 애플리케이션은 다음 예제와 같이 WM_DWMSENDICONICTHUMBNAIL 메시지에 대한 응답으로 DwmSetIconicThumbnail 함수를 호출합니다.
case WM_DWMSENDICONICTHUMBNAIL:
{
// This window is being asked to provide its iconic bitmap. This indicates
// a thumbnail is being drawn.
hbm = CreateDIB(HIWORD(lParam), LOWORD(lParam));
if (hbm)
{
hr = DwmSetIconicThumbnail(hwnd, hbm, 0);
DeleteObject(hbm);
}
}
break;
전체 예제 코드는 아이콘 축소판 그림 사용자 지정 및 라이브 미리 보기 비트맵 샘플을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | dwmapi.h |
라이브러리 | Dwmapi.lib |
DLL | Dwmapi.dll; Uxtheme.dll |