다음을 통해 공유


도구 모음에서 Hot-Tracking 사용하는 방법

마우스 포인터가 항목 위로 마우스를 가져가면 항목이 뜨거워집니다. 핫 트래킹을 사용하도록 설정하면 핫 항목이 강조 표시됩니다. TBSTYLE_FLAT 스타일로 만들어진 도구 모음이나 비주얼 스타일을 사용하는 도구 모음은 기본적으로 핫 트래킹을 지원합니다.

핫 추적을 사용하려면 이미지 목록을 만들어야 합니다. 따라서 TB_ADDBITMAP 메시지나 CreateToolbarEx 함수를 사용하여 도구 모음을 만들 수 없습니다.

마우스가 도구 모음 단추 위로 마우스를 가져가면 단추가 윤곽선으로 표시되어 강조 표시됩니다. 다음 그림에서는 하이라이트 기능이 활성화된 도구 모음을 보여 줍니다. 스크린샷을 촬영할 때 마우스 포인터가 저장 버튼 위에 위치해 있었습니다.

3개 항목 도구 모음이 있는 대화 상자의 스크린샷을 . 선택한 아이콘이 윤곽선으로 표시됩니다.

컨트롤 상태가 변경되면 도구 모음 단추 비트맵을 변경하려면 다른 이미지를 이미지 목록에 저장합니다. 예를 들어 일부 애플리케이션에는 선택할 때 색이 지정된 흑백 도구 모음 단추가 있습니다. 서로 다른 두 이미지는 이미지 목록에 저장됩니다. 도구 모음은 최대 3개의 이미지 목록을 사용할 수 있도록 지원합니다. 일반적으로 애플리케이션에는 이미지의 기본, 사용 안 함 및 핫 추적 목록이 있습니다. 핫 도구 모음 단추에 대한 이미지 목록을 설정하고 검색하려면 TB_SETHOTIMAGELISTTB_GETHOTIMAGELIST 메시지를 사용하세요.

알아야 할 사항

기술

필수 구성 요소

  • C/C++
  • Windows 사용자 인터페이스 프로그래밍

지시

도구 모음에서 Hot-Tracking 사용

다음 코드 예제에서는 핫 단추에 대한 이미지 목록을 만들고, 채우고, 할당합니다.

// Create the image list, himlHot.
g_himlHot = ImageList_Create(MYICON_CX,MYICON_CY,ILC_COLOR8,0,4);

// Load a bitmap from a resource file, and add the images to the image list.
// Note that the bitmap contains four images.

hBitmapHot = LoadBitmap(g_hinst, MAKEINTRESOURCE(IDB_HOT));

ImageList_Add(g_himlHot, hBitmapHot, NULL);
   
// Set the image list. 
SendMessage(hwndTB, TB_SETHOTIMAGELIST, 0, (LPARAM)g_himlHot);
   
// Loop to fill the array of TBBUTTON structures.  
for(i=0;i<MAX_BUTTONS;i++)
{
    tbArray[i].iBitmap   = i;                   // Bitmap from image list.
    tbArray[i].idCommand = IDM_BUTTONSTART + i;
    tbArray[i].fsState   = TBSTATE_ENABLED;
    tbArray[i].fsStyle   = BTNS_DROPDOWN;
    tbArray[i].dwData    = 0;
    tbArray[i].iString   = i;
}

DeleteObject(hBitmapHot);    // Delete the loaded bitmap.

도구 모음 컨트롤 사용

Windows 공용 컨트롤 데모(CppWindowsCommonControls)