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 Null fest. Weitere Informationen zur Verwendung mehrerer Bildlisten finden Sie in den Anmerkungen.

lParam

Behandeln Sie die Bildliste, die festgelegt werden soll. Wenn dieser Parameter NULL ist, werden keine Bilder in den Schaltflächen angezeigt.

Rückgabewert

Gibt den Handle an die Bildliste zurück, die zuvor verwendet wird, um Schaltflächen in ihrem gedrückten Zustand anzuzeigen, oder NULL , wenn keine solche Bildliste zuvor festgelegt wurde.

Hinweise

Hinweis

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

Die TB_SETPRESSEDIMAGELIST Nachricht kann nicht mit TB_ADDBITMAP kombiniert werden. Es kann auch nicht mit Symbolleisten verwendet werden, die mit CreateToolbarEx erstellt wurden, die intern TB_ADDBITMAP aufruft. Wenn Sie eine Symbolleiste mit CreateToolbarEx erstellen oder TB_ADDBITMAP verwenden, um Bilder hinzuzufügen, verwaltet die Symbolleiste die Bildliste intern. Der Versuch, sie 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 Symbolleistenschaltflächenbilder:

  1. Aktivieren Sie mehrere Bildlisten, indem Sie das Symbolleistensteuerelement an eine CCM_SETVERSION Nachricht mit wParam (der Versionsnummer) senden, die auf 5 festgelegt ist.
  2. Senden Sie für jede Bildliste, die Sie verwenden möchten, das Symbolleistensteuerelement eine TB_SETPRESSEDIMAGELIST Nachricht. Legen Sie wParam auf einen anwendungsspezifischen wParam-Wert fest, der verwendet wird, um die Liste zu identifizieren. Legen Sie lParam auf den HIMAGELIST-Handle der Liste fest.
  3. Legen Sie für jede Schaltfläche das iBitmap-Element der TBBUTTON-Struktur der Schaltfläche auf MAKELONG(iIndex, iImageID) fest. Der iImageID-Wert ist die ID der entsprechenden Bildliste, die in Schritt zwei definiert wurde. Der iIndex-Wert ist der Index des bestimmten Bilds innerhalb dieser Liste.
  4. Fügen Sie die Schaltflächen hinzu, indem Sie das Symbolleistensteuerelement eine TB_ADDBUTTONS Nachricht senden.

Das folgende Codefragment veranschaulicht, wie Sie einer Symbolleiste fünf Schaltflächen hinzufügen, mit Bildern aus drei verschiedenen Bildlisten. Die Unterstützung für mehrere Bildlisten ist mit einer CCM_SETVERSION Nachricht aktiviert. Die Bildlisten werden dann festgelegt und zugewiesene IDs von 0-2. Die Schaltflächen werden Bildern aus den Bildlisten wie folgt zugewiesen:

  • Schaltfläche 0 stammt aus der Bildliste Null (ahim[0]) mit Index von 1.
  • Schaltfläche 1 stammt aus der Bildliste 1 (ahim[1]) mit einem Index von 1.
  • Schaltfläche 2 stammt aus der Bildliste zwei (ahim[2]) mit einem Index von 1.
  • Schaltfläche 3 stammt aus der Bildliste Null (ahim[0]) mit einem Index von 2.
  • Schaltfläche 4 stammt aus der Bildliste 1 (ahim[1]) mit einem Index von 3.

Schließlich werden die Schaltflächen dem Symbolleistensteuerelement mit einer TB_ADDBUTTONS Nachricht 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 Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]
Header
Commctrl.h

Siehe auch

Referenz

TB_GETPRESSEDIMAGELIST

Andere Ressourcen

MAKELONG