Condividi tramite


Come usare Hot-Tracking con barre degli strumenti

Quando il puntatore del mouse si sposta sopra un elemento, l'elemento diventa attivo. Se il rilevamento rapido è abilitato, l'elemento attivo viene evidenziato. Una barra degli strumenti creata con lo stile TBSTYLE_FLAT o una che usa stili di visualizzazione, supporta il rilevamento rapido per impostazione predefinita.

Il rilevamento rapido richiede la creazione di elenchi di immagini; pertanto, non è possibile utilizzare il messaggio TB_ADDBITMAP o la funzione CreateToolbarEx per creare la barra degli strumenti.

Quando il mouse passa sopra un pulsante della barra degli strumenti, il pulsante viene evidenziato. La figura seguente mostra una barra degli strumenti con rilevamento rapido abilitato; il puntatore del mouse è stato posizionato sul pulsante Salva quando è stata scattata la schermata.

schermata di una finestra di dialogo con una barra degli strumenti a tre elementi; l'icona selezionata è evidenziata

Se si desidera modificare una bitmap del pulsante della barra degli strumenti quando lo stato del controllo cambia, archiviare le diverse immagini negli elenchi di immagini . Ad esempio, alcune applicazioni hanno pulsanti della barra degli strumenti bianchi e neri che diventano colorati quando vengono selezionati. Le due diverse immagini vengono archiviate negli elenchi di immagini. Le barre degli strumenti supportano l'uso di un massimo di tre elenchi di immagini. In genere un'applicazione ha un elenco predefinito, disabilitato e di rilevamento rapido delle immagini. Per impostare e recuperare gli elenchi di immagini per i pulsanti della barra degli strumenti ad accesso frequente, usare i messaggi TB_SETHOTIMAGELIST e TB_GETHOTIMAGELIST.

Cosa è necessario sapere

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Disposizioni

Usare Hot-Tracking con una barra degli strumenti

Nell'esempio di codice seguente vengono creati, compilati e assegnati un elenco di immagini per i pulsanti di scelta frequente.

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

Utilizzo dei controlli della barra degli strumenti

demo dei controlli comuni di Windows (CppWindowsCommonControls)