Свои картинки на кнопках в Toolbar

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

HumVee
Сообщения: 16
Зарегистрирован: 30 май 2004, 02:17
Откуда: Минск

AiK, большое спасибо, всё заработало. Но появилась ещё одна проблема: с прозрачностью картинок. Тулбар никак не хочет понимать, что фон нужно сделать прозрачным. Пробовал заливать битмап серым(192, 192, 192), белым, чёрным. В функции LoadImage есть флаг LR_LOADMAP3DCOLORS:

Код: Выделить всё

LR_LOADMAP3DCOLORS Searches the color table for the image and replaces the following shades of gray with the corresponding 3-D color: 
 Color    Replaced with 
 Dk Gray, RGB(128,128,128) COLOR_3DSHADOW 
 Gray,    RGB(192,192,192) COLOR_3DFACE 
 Lt Gray, RGB(223,223,223) COLOR_3DLIGHT 
  Do not use this option if you are loading a bitmap with a color depth greater than 8bpp. 
Меня очень смущает последняя строчка. Также есть флаг LR_LOADTRANSPARENT, но он тоже не помогает. Что ещё можно предпринять?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

А что тебя смущает? 8 бит на пиксель это и есть 256 цветов.
Т.е. тебе предлагается опять же ручками заменить в загруженной BMP пиксели какого-то цвета на пиксели текущего цвета бэкграунда.
Например, гуру предлагают делать это так
Кстати, на всякий пожарный - в XP и Win2K цвета разные.

Я почти не работал с изображениями, но рискну предположить, что в BMP теоретически можно поменять цвет одним ударом. Так что имеет смысл поискать какие-нибудь системные функции для этого дела, типа смены таблицы цветов, что ли.
Даже самый дурацкий замысел можно воплотить мастерски
HumVee
Сообщения: 16
Зарегистрирован: 30 май 2004, 02:17
Откуда: Минск

Ладно. Я просто думал что это мой недочёт, а на самом деле так нельзя. Будем искать(с).
HumVee
Сообщения: 16
Зарегистрирован: 30 май 2004, 02:17
Откуда: Минск

А можно ли задать тулбару картинки для кнопок в форме ImageList'а? Тогда задача сильно упрощается...
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

HumVee, сентенции не понял. Ты ж лист и добавляешь при помощи TB_ADDBITMAP - 11 картинок в одной BMPхе.
Даже самый дурацкий замысел можно воплотить мастерски
HumVee
Сообщения: 16
Зарегистрирован: 30 май 2004, 02:17
Откуда: Минск

Да, я знаю. Я имел в виду АПИшные функции для работы с "общим элементом управления" ImageList'ом. Просто в него можно загрузить иконки(они нормально отображаются, без фона), а вот можно ли его потом присоединить к тулбару?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

TB_SETIMAGELIST?
Даже самый дурацкий замысел можно воплотить мастерски
HumVee
Сообщения: 16
Зарегистрирован: 30 май 2004, 02:17
Откуда: Минск

TB_SETIMAGELIST?
Оно самое. Чего-то я его раньше не заметил... Ещё раз всем огромное спасибо, всё работает так как я и хотел.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Мдяяяя. Тяжёлый случай :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить