Delen via


Hot-Tracking gebruiken met werkbalken

Wanneer een muisaanwijzer over een item beweegt, wordt het item actief. Als hot-tracking is ingeschakeld, wordt het hot-item gemarkeerd. Een werkbalk die is gemaakt met de TBSTYLE_FLAT stijl of een werkbalk die gebruikmaakt van visuele stijlen, ondersteunt standaard dynamische tracering.

Voor dynamische tracering moet u afbeeldingslijsten maken; Daarom kunt u het TB_ADDBITMAP bericht of de functie CreateToolbarEx niet gebruiken om de werkbalk te maken.

Wanneer de muisaanwijzer boven een werkbalkknop beweegt, wordt de knop omlijnd om deze te accentueren. In de volgende illustratie ziet u een werkbalk met hot-tracking ingeschakeld; de muisaanwijzer zweefde boven de knop Opslaan toen de schermafbeelding werd genomen.

schermafbeelding van een dialoogvenster met een werkbalk die drie items bevat; het geselecteerde pictogram is omlijnd

Als u wilt dat een bitmap van een werkbalkknop verandert wanneer de toestand van het besturingselement verandert, slaat u de verschillende afbeeldingen op in afbeeldingslijsten. Sommige toepassingen hebben bijvoorbeeld knoppen voor zwart-wit werkbalken die worden gekleurd wanneer ze worden geselecteerd. De twee verschillende afbeeldingen worden opgeslagen in afbeeldingslijsten. Werkbalken ondersteunen het gebruik van maximaal drie afbeeldingslijsten. Normaal gesproken heeft een toepassing een lijst met standaard-, uitgeschakelde en hot-tracking-afbeeldingen. Gebruik de TB_SETHOTIMAGELIST en TB_GETHOTIMAGELIST berichten om de afbeeldingenlijst in te stellen en op te halen voor knoppen op een actieve werkbalk.

Wat u moet weten

Technologieën

Voorwaarden

  • C/C++
  • Programmeren van Windows-gebruikersinterface

Aanwijzingen

Hot-Tracking gebruiken met een werkbalk

In het volgende codevoorbeeld wordt een lijst met afbeeldingen gemaakt, ingevuld en toegewezen voor hot buttons.

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

Het Gebruik van Werkbalk Bedieningselementen

demo van algemene besturingselementen van Windows (CppWindowsCommonControls)