도구 모음에서 Hot-Tracking 사용하는 방법
마우스 포인터가 항목 위로 마우스를 가져가면 항목이 뜨거워집니다. 핫 트래킹을 사용하도록 설정하면 핫 항목이 강조 표시됩니다. TBSTYLE_FLAT 스타일로 만들어진 도구 모음이나 비주얼 스타일을 사용하는 도구 모음은 기본적으로 핫 트래킹을 지원합니다.
핫 추적을 사용하려면 이미지 목록을 만들어야 합니다. 따라서 TB_ADDBITMAP 메시지나 CreateToolbarEx 함수를 사용하여 도구 모음을 만들 수 없습니다.
마우스가 도구 모음 단추 위로 마우스를 가져가면 단추가 윤곽선으로 표시되어 강조 표시됩니다. 다음 그림에서는 하이라이트 기능이 활성화된 도구 모음을 보여 줍니다. 스크린샷을 촬영할 때 마우스 포인터가 저장 버튼 위에 위치해 있었습니다.
3개 항목 도구 모음이 있는 대화 상자의 스크린샷을 윤곽선으로 표시됩니다.
컨트롤 상태가 변경되면 도구 모음 단추 비트맵을 변경하려면 다른 이미지를 이미지 목록에 저장합니다. 예를 들어 일부 애플리케이션에는 선택할 때 색이 지정된 흑백 도구 모음 단추가 있습니다. 서로 다른 두 이미지는 이미지 목록에 저장됩니다. 도구 모음은 최대 3개의 이미지 목록을 사용할 수 있도록 지원합니다. 일반적으로 애플리케이션에는 이미지의 기본, 사용 안 함 및 핫 추적 목록이 있습니다. 핫 도구 모음 단추에 대한 이미지 목록을 설정하고 검색하려면 TB_SETHOTIMAGELIST와 TB_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.
관련 항목