TB _ SETPRESSEDIMAGELIST-Nachricht

Legt die Bildliste fest, die die Symbolleiste verwendet, um Schaltflächen anzuzeigen, die sich in einem gedrückten Zustand befinden.

Parameter

wParam

Der Index der Bildliste. Wenn Sie nur eine Bildliste verwenden, legen Sie diesen Parameter auf 0 fest. Weitere Informationen zur Verwendung mehrerer Bildlisten finden Sie unter Hinweise.

lParam

Handle für die bildliste, die festgelegt werden soll. Wenn dieser Parameter NULL ist, werden keine Bilder in den Schaltflächen angezeigt.

Rückgabewert

Gibt das Handle für die Bildliste zurück, die zuvor zum Anzeigen von Schaltflächen im gedrückten Zustand verwendet wurde, oder NULL, wenn zuvor keine solche Bildliste festgelegt wurde.

Bemerkungen

Hinweis

Ihre Anwendung ist dafür verantwortlich, die Bildliste frei zu geben, nachdem die Symbolleiste zerstört wurde.

Die _ TB-Nachricht SETPRESSEDIMAGELIST kann nicht mit TB _ ADDBITMAP kombiniert werden. Sie kann auch nicht mit Symbolleisten verwendet werden, die mit CreateToolbarExerstellt wurden, die TB _ ADDBITMAP intern aufruft. Wenn Sie eine Symbolleiste mit CreateToolbarEx erstellen oder TB _ ADDBITMAP verwenden, um Bilder hinzuzufügen, verwaltet die Symbolleiste die Bildliste intern. Der Versuch, ihn mit TB _ SETPRESSEDIMAGELIST zu ändern, hat unvorhersehbare Folgen.

Schaltflächenbilder müssen nicht aus derselben Bildliste stammen. So verwenden Sie mehrere Bildlisten für Ihre Symbolleisten-Schaltflächenbilder:

  1. Aktivieren Sie mehrere Bildlisten, indem Sie dem Symbolleisten-Steuerelement eine CCM _ SETVERSION-Nachricht mit wParam (Versionsnummer) senden, die auf 5 festgelegt ist.
  2. Senden Sie für jede Bildliste, die Sie verwenden möchten, eine TB _ SETPRESSEDIMAGELIST-Nachricht an das Symbolleisten-Steuerelement. Legen Sie wParam auf einen anwendungsdefinierten wParam-Wert fest, der zum Identifizieren der Liste verwendet wird. Legen Sie lParam auf das HIMAGELIST-Handle der Liste fest.
  3. Legen Sie für jede Schaltfläche das iBitmap-Member der TBBUTTON-Struktur der Schaltfläche auf MAKELONG(iIndex, iImageID ) fest. Der iImageID-Wert ist die ID der entsprechenden Bildliste, die in Schritt 2 definiert wurde. Der iIndex-Wert ist der Index des jeweiligen Bilds in dieser Liste.
  4. Fügen Sie die Schaltflächen hinzu, indem Sie dem Symbolleisten-Steuerelement eine _ TB-ADDBUTTONS-Meldung senden.

Das folgende Codefragment veranschaulicht das Hinzufügen von fünf Schaltflächen zu einer Symbolleiste mit Bildern aus drei verschiedenen Bildlisten. Unterstützung für mehrere Bildlisten wird mit einer CCM _ SETVERSION-Meldung aktiviert. Die Bildlisten werden dann festgelegt und den IDs 0-2 zugewiesen. Den Schaltflächen werden Bilder aus den Bildlisten wie folgt zugewiesen:

  • Schaltfläche 0 ist aus der Bildliste 0 (ahim [ ] 0) mit dem Index 1.
  • Schaltfläche 1 ist aus der Bildliste 1 (ahim [ ] 1) mit dem Index 1.
  • Schaltfläche 2 ist aus der Bildliste 2 (ahim [ 2) mit ] dem Index 1.
  • Schaltfläche 3 ist aus der Bildliste 0 (ahim [ ] 0) mit dem Index 2.
  • Schaltfläche 4 ist aus der Bildliste 1 (ahim [ ] 1) mit dem Index 3.

Schließlich werden die Schaltflächen dem Symbolleisten-Steuerelement mit einer TB _ ADDBUTTONS-Meldung hinzugefügt.

// Enable multiple image lists
    SendMessage(hwndTB, CCM_SETVERSION, (WPARAM) 5, 0); 

    //Set the image lists and assign them IDs of 0-2
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 0, (LPARAM)ahiml[0]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 1, (LPARAM)ahiml[1]);
    SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 2, (LPARAM)ahiml[2]);

    // Create the five buttons
    TBBUTTON rgtb[5];
    
    //... initialize the TBBUTTON structures as usual ...
    
    //Assign images to each button
    rgtb[0].iBitmap = MAKELONG(1, 0);
    rgtb[1].iBitmap = MAKELONG(1, 1);
    rgtb[2].iBitmap = MAKELONG(1, 2);
    rgtb[3].iBitmap = MAKELONG(2, 0);
    rgtb[4].iBitmap = MAKELONG(3, 1);

    // Add the five buttons to the toolbar control
    SendMessage(hwndTB, TB_ADDBUTTONS, 5, (LPARAM)(&rgtb);

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur [ Vista-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Nur Server [ 2008-Desktop-Apps]
Header
Commctrl.h

Weitere Informationen

Verweis

TB _ GETPRESSEDIMAGELIST

Andere Ressourcen

MAKELONG