다음을 통해 공유


ITaskbarList3::ThumbBarSetImageList 메서드(shobjidl_core.h)

작업 표시줄 단추 플라이아웃에서 창의 축소판 그림 이미지에 포함된 도구 모음에 대한 단추 이미지가 포함된 이미지 목록을 지정합니다.

Syntax

HRESULT ThumbBarSetImageList(
  [in] HWND       hwnd,
  [in] HIMAGELIST himl
);

매개 변수

[in] hwnd

형식: HWND

썸네일 표현에 업데이트할 도구 모음이 포함된 창의 핸들입니다. 이 핸들은 호출 프로세스에 속해야 합니다.

[in] himl

형식: HIMAGELIST

도구 모음에서 사용할 모든 단추 이미지를 포함하는 이미지 목록의 핸들입니다.

반환 값

형식: HRESULT

이 메서드가 성공하면 S_OK 반환합니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다.

비고

애플리케이션은 다음 단추 이미지를 제공해야 합니다.

  • 기본 활성 상태의 단추입니다.
  • 높은 dpi(인치당 점) 디스플레이에 사용하기에 적합한 이미지입니다.

이미지는 32비트 및 GetSystemMetrics(SM_CXICON) x GetSystemMetrics(SM_CYICON) 차원이어야 합니다. 도구 모음 자체는 단추의 클릭, 사용 안 함 및 가리키기 상태에 대한 시각적 개체를 제공합니다.

접근성

이미지 목록에서 인덱싱된 THUMBBUTTON 구조에 제공된 단추 이미지는 다양한 사용자 개인 설정 시나리오에서 사용할 수 있습니다. 일반적인 예로는 밝고 어두운 색 모드와 접근성을 위한 대비 테마가 있습니다. 이러한 모든 컨텍스트에서 시각적으로 명확하게 유지되는 자산을 선택합니다.

다음 두 가지 방법으로 이 작업을 처리할 수 있습니다.

  • 테마 변경 이벤트( Win32 앱에서 어둡고 밝은 테마 지원 참조) 및 테마가 변경되면 단추를 업데이트합니다.
  • 단색 흰색 채우기와 단색 검정 윤곽선이 있는 문자 모양과 같이 기본 제공 대비로 자산을 사용합니다.

예시

다음 예제에서는 이미지가 이미지 목록에서 오는 두 개의 단추가 있는 썸네일 도구 모음을 만드는 방법을 보여 줍니다.


HRESULT AddThumbBarButtons(HWND hwnd, HIMAGELIST himl, HIMAGELIST himlHot)
{
    // Define an array of two buttons. These buttons provide images through an 
    // image list and also provide tooltips.
    DWORD dwMask = THB_BITMAP | THB_TOOLTIP | THB_FLAGS;
    
    THUMBBUTTON thbButtons[2];
    thbButtons[0].dwMask = dwMask;
    thbButtons[0].iId = 0;
    thbButtons[0].iBitmap = 0;
    thbButtons[0].pszTip = TEXT("Button 1");
    thbButtons[0].dwFlags = THBF_DISMISSONCLICK;

    dwMask = THB_BITMAP | THB_TOOLTIP;
    thbButtons[1].dwMask = dwMask;
    thbButtons[1].iId = 1;
    thbButtons[1].iBitmap = 1;
    thbButtons[1].pszTip = TEXT("Button 2");
    
    // Create an instance of ITaskbarList3
    ITaskBarList3 *ptbl;
    HRESULT hr = CoCreateInstance(CLSID_TaskbarList, 
                                  NULL, 
                                  CLSCTX_INPROC_SERVER, 
                                  IID_PPV_ARGS(&ptbl);

    if (SUCCEEDED(hr))
    {
        // Declare the image list that contains the button images.
        hr = ptbl->ThumbBarSetImageList(hwnd, himl);
        
        if (SUCCEEDED(hr))
        {
            // Attach the toolbar to the thumbnail.
            hr = ptbl->ThumbBarAddButtons(hwnd, ARRAYSIZE(thbButtons), &thbButtons);
        }
        ptbl->Release();
    }
    return hr;
}

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 윈도우즈
Header shobjidl_core.h(Shobjidl.h 포함)
Library Explorerframe.lib
DLL Explorerframe.dll

참고하십시오

ITaskbarList

ITaskbarList2

ITaskbarList3

ITaskbarList3::ThumbBarAddButtons

ITaskbarList3::ThumbBarUpdateButtons

작업 표시줄 확장