Поделиться через


сообщение ТБ_SETPRESSEDIMAGELIST

Задает список изображений, который панель инструментов использует для отображения кнопок, которые находятся в состоянии нажатия.

Параметры

wParam

Индекс списка изображений. Если вы используете только один список изображений, установите этот параметр равным нулю. Дополнительные сведения об использовании нескольких списков изображений см. в примечаниях.

lParam

Обработка списка изображений для задания. Если этот параметр имеет значение NULL, изображения не отображаются на кнопках.

Возвращаемое значение

Возвращает дескриптор списка изображений, который ранее использовался для отображения кнопок в состоянии нажатия или NULL , если такой список изображений ранее не задан.

Замечания

Примечание.

Ваше приложение отвечает за освобождение списка изображений после уничтожения панели инструментов.

Сообщение ТБ_SETPRESSEDIMAGELIST нельзя объединить с ТБ_ADDBITMAP. Его также нельзя использовать с панелями инструментов, созданными с помощью CreateToolbarEx, которая вызывает ТБ_ADDBITMAP внутренне. При создании панели инструментов с помощью CreateToolbarEx или с помощью ТБ_ADDBITMAP для добавления изображений панель инструментов управляет списком изображений внутренне. Попытка изменить его с помощью ТБ_SETPRESSEDIMAGELIST имеет непредсказуемые последствия.

Изображения кнопок не должны поступать из одного списка изображений. Чтобы использовать несколько списков изображений для изображений на панели инструментов, выполните приведенные ниже действия.

  1. Включите несколько списков изображений, отправив элемент управления CCM_SETVERSION сообщение с wParam (номер версии), равным 5.
  2. Для каждого списка изображений, который вы хотите использовать, отправьте элемент управления панелью инструментов ТБ_SETPRESSEDIMAGELIST сообщение. Задайте для параметра wParam значение wParam, определяемое приложением, которое будет использоваться для идентификации списка. Установите lParam в дескриптор HIMAGELIST списка.
  3. Для каждой кнопки задайте для элемента iBitmap структуры ТБ BUTTON кнопки значение MAKELONG(iIndex, iImageID). Значение iImageID — это идентификатор соответствующего списка изображений, который был определен на шаге два. Значение iIndex — это индекс конкретного изображения в этом списке.
  4. Добавьте кнопки, отправив элемент управления панелью инструментов ТБ_ADDBUTTONS сообщение.

В следующем фрагменте кода показано, как добавить пять кнопок на панель инструментов с изображениями из трех разных списков изображений. Поддержка нескольких списков изображений включена с CCM_SETVERSION сообщением. Затем списки изображений задаются и назначаются идентификаторы 0-2. Кнопки назначаются из списков изображений следующим образом:

  • Кнопка 0 из списка изображений ноль (ahim[0]) с индексом 1.
  • Кнопка 1 из списка изображений (ahim[1]) с индексом 1.
  • Кнопка 2 из списка изображений два (ahim[2]) с индексом 1.
  • Кнопка 3 из списка изображений ноль (ahim[0]) с индексом 2.
  • Кнопка 4 из списка изображений (ahim[1]) с индексом 3.

Наконец, кнопки добавляются в элемент управления панели инструментов с сообщением ТБ_ADDBUTTONS.

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

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Верхний колонтитул
Commctrl.h

См. также

Ссылка

ТБ_GETPRESSEDIMAGELIST

Другие ресурсы

MAKELONG