сообщение ТБ_SETPRESSEDIMAGELIST
Задает список изображений, который панель инструментов использует для отображения кнопок, которые находятся в состоянии нажатия.
Параметры
-
wParam
-
Индекс списка изображений. Если вы используете только один список изображений, установите этот параметр равным нулю. Дополнительные сведения об использовании нескольких списков изображений см. в примечаниях.
-
lParam
-
Обработка списка изображений для задания. Если этот параметр имеет значение NULL, изображения не отображаются на кнопках.
Возвращаемое значение
Возвращает дескриптор списка изображений, который ранее использовался для отображения кнопок в состоянии нажатия или NULL , если такой список изображений ранее не задан.
Замечания
Примечание.
Ваше приложение отвечает за освобождение списка изображений после уничтожения панели инструментов.
Сообщение ТБ_SETPRESSEDIMAGELIST нельзя объединить с ТБ_ADDBITMAP. Его также нельзя использовать с панелями инструментов, созданными с помощью CreateToolbarEx, которая вызывает ТБ_ADDBITMAP внутренне. При создании панели инструментов с помощью CreateToolbarEx или с помощью ТБ_ADDBITMAP для добавления изображений панель инструментов управляет списком изображений внутренне. Попытка изменить его с помощью ТБ_SETPRESSEDIMAGELIST имеет непредсказуемые последствия.
Изображения кнопок не должны поступать из одного списка изображений. Чтобы использовать несколько списков изображений для изображений на панели инструментов, выполните приведенные ниже действия.
- Включите несколько списков изображений, отправив элемент управления CCM_SETVERSION сообщение с wParam (номер версии), равным 5.
- Для каждого списка изображений, который вы хотите использовать, отправьте элемент управления панелью инструментов ТБ_SETPRESSEDIMAGELIST сообщение. Задайте для параметра wParam значение wParam, определяемое приложением, которое будет использоваться для идентификации списка. Установите lParam в дескриптор HIMAGELIST списка.
- Для каждой кнопки задайте для элемента iBitmap структуры ТБ BUTTON кнопки значение MAKELONG(iIndex, iImageID). Значение iImageID — это идентификатор соответствующего списка изображений, который был определен на шаге два. Значение iIndex — это индекс конкретного изображения в этом списке.
- Добавьте кнопки, отправив элемент управления панелью инструментов ТБ_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 [только классические приложения] |
Верхний колонтитул |
|
См. также
-
Ссылка
-
Другие ресурсы