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

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Свои картинки на кнопках в Toolbar

Romeo » 04 июн 2004, 17:27

Мдяяяя. Тяжёлый случай :)

HumVee » 04 июн 2004, 01:26

TB_SETIMAGELIST?
Оно самое. Чего-то я его раньше не заметил... Ещё раз всем огромное спасибо, всё работает так как я и хотел.

AiK » 04 июн 2004, 01:04

TB_SETIMAGELIST?

HumVee » 04 июн 2004, 00:47

Да, я знаю. Я имел в виду АПИшные функции для работы с "общим элементом управления" ImageList'ом. Просто в него можно загрузить иконки(они нормально отображаются, без фона), а вот можно ли его потом присоединить к тулбару?

AiK » 04 июн 2004, 00:21

HumVee, сентенции не понял. Ты ж лист и добавляешь при помощи TB_ADDBITMAP - 11 картинок в одной BMPхе.

HumVee » 04 июн 2004, 00:12

А можно ли задать тулбару картинки для кнопок в форме ImageList'а? Тогда задача сильно упрощается...

HumVee » 03 июн 2004, 23:56

Ладно. Я просто думал что это мой недочёт, а на самом деле так нельзя. Будем искать(с).

AiK » 03 июн 2004, 20:05

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

Я почти не работал с изображениями, но рискну предположить, что в BMP теоретически можно поменять цвет одним ударом. Так что имеет смысл поискать какие-нибудь системные функции для этого дела, типа смены таблицы цветов, что ли.

HumVee » 03 июн 2004, 19:33

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 » 03 июн 2004, 00:56

HumVee, так тебе предлагатся загрузить битмапину самостоятельно при помощи LoadImage, а уже потом скормить тулбару.

Вернуться к началу