Udostępnij za pośrednictwem


Jak używać Hot-Tracking z paskami narzędzi

Gdy wskaźnik myszy najecha kursorem na element, element staje się gorący. Jeśli śledzenie gorąca jest włączone, wyróżniono gorący element. Pasek narzędzi utworzony ze stylem TBSTYLE_FLAT lub pasek narzędzi korzystający z Stylów wizualnychobsługuje śledzenie elementów na ekranie domyślnie.

Śledzenie na gorąco wymaga utworzenia list obrazów; w związku z tym nie można użyć komunikatu TB_ADDBITMAP ani funkcji CreateToolbarEx, aby utworzyć pasek narzędzi.

Po najechaniu kursorem myszy na przycisk paska narzędzi, przycisk zostanie obrysowany, aby go podkreślić. Poniższa ilustracja przedstawia pasek narzędzi z włączonym śledzeniem na gorąco; wskaźnik myszy znajdował się na przycisku Zapisz, gdy zrzut ekranu został wykonany.

zrzut ekranu okna dialogowego z paskiem narzędzi z trzema elementami; wybrana ikona jest oznaczona

Jeśli chcesz, aby mapa bitowa przycisku paska narzędzi zmieniała się po zmianie stanu kontrolki, zapisz różne obrazy na listach obrazów . Na przykład niektóre aplikacje mają czarne i białe przyciski paska narzędzi, które stają się kolorowe po wybraniu. Dwa różne obrazy są przechowywane na listach obrazów. Paski narzędzi obsługują maksymalnie trzy listy obrazów. Zazwyczaj aplikacja posiada domyślną, nieaktywną i interaktywną listę obrazów. Aby ustawić i pobrać listy obrazów dla przycisków gorącego paska narzędzi, użyj komunikatów TB_SETHOTIMAGELIST i TB_GETHOTIMAGELIST.

Co musisz wiedzieć

Technologie

  • kontrolek systemu Windows

Warunki wstępne

  • C/C++
  • Programowanie interfejsu użytkownika systemu Windows

Instrukcje

Używanie Hot-Tracking z paskiem narzędzi

Poniższy przykład kodu tworzy, wypełnia i przypisuje listę obrazów dla przycisków gorących.

// 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.

Korzystanie z kontrolek paska narzędzi

pokaz wspólnych kontrolek systemu Windows (CppWindowsCommonControls)