сообщение TB_SETPRESSEDIMAGELIST
Задает список изображений, который панель инструментов использует для отображения кнопок, которые находятся в нажатом состоянии.
Параметры
-
wParam
-
Индекс списка изображений. Если используется только один список изображений, установите для этого параметра значение 0. Дополнительные сведения об использовании нескольких списков изображений см. в примечаниях.
-
lParam
-
Дескриптор списка изображений, который необходимо задать. Если этот параметр имеет значение NULL, изображения на кнопках не отображаются.
Возвращаемое значение
Возвращает дескриптор списка изображений, который ранее использовался для отображения кнопок в нажатом состоянии, или значение NULL , если такой список изображений ранее не задан.
Remarks
Примечание
Приложение отвечает за освобождение списка изображений после уничтожения панели инструментов.
Сообщение TB_SETPRESSEDIMAGELIST нельзя объединить с TB_ADDBITMAP. Его также нельзя использовать с панелями инструментов, созданными с помощью CreateToolbarEx, которая вызывает TB_ADDBITMAP внутри системы. При создании панели инструментов с помощью CreateToolbarEx или использования TB_ADDBITMAP для добавления изображений панель инструментов управляет списком изображений внутри системы. Попытка изменить его с помощью TB_SETPRESSEDIMAGELIST имеет непредсказуемые последствия.
Изображения кнопок не должны поступать из одного списка изображений. Чтобы использовать несколько списков изображений для изображений кнопок панели инструментов, выполните приведенные ниже действия.
- Включите несколько списков изображений, отправив элемент управления CCM_SETVERSION сообщение с wParam (номер версии) равным 5.
- Для каждого списка изображений, который вы хотите использовать, отправьте элемент управления панелью инструментов TB_SETPRESSEDIMAGELIST сообщение. Присвойте wParam значение wParam, определяемое приложением, которое будет использоваться для идентификации списка. Задайте для lParam дескриптор HIMAGELIST списка.
- Для каждой кнопки задайте для элемента iBitmap структуры TBBUTTON кнопки значение MAKELONG(iIndex, iImageID). Значение iImageID — это идентификатор соответствующего списка изображений, определенного на шаге 2. Значение iIndex — это индекс конкретного изображения в этом списке.
- Добавьте кнопки, отправив элемент управления TB_ADDBUTTONS панели инструментов.
В следующем фрагменте кода показано, как добавить пять кнопок на панель инструментов с изображениями из трех различных списков изображений. Поддержка нескольких списков изображений включена с CCM_SETVERSION сообщением. Затем списки изображений задаются и назначаются идентификаторы 0–2. Кнопки назначаются изображениям из списков изображений следующим образом:
- Кнопка 0 из списка изображений (ahim[0]) с индексом 1.
- Кнопка 1 из списка изображений (ahim[1]) с индексом 1.
- Кнопка 2 из списка изображений 2 (ahim[2]) с индексом 1.
- Кнопка 3 из списка изображений равна нулю (ahim[0]) с индексом 2.
- Кнопка 4 из списка изображений (ahim[1]) с индексом 3.
Наконец, кнопки добавляются в элемент управления панели инструментов с сообщением TB_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);
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2008 [только классические приложения] |
Header |
|
См. также раздел
-
Ссылки
-
Другие ресурсы