Страница 2 из 2

Добавлено: 03 июн 2004, 19:33
HumVee
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, но он тоже не помогает. Что ещё можно предпринять?

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

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

Добавлено: 03 июн 2004, 23:56
HumVee
Ладно. Я просто думал что это мой недочёт, а на самом деле так нельзя. Будем искать(с).

Добавлено: 04 июн 2004, 00:12
HumVee
А можно ли задать тулбару картинки для кнопок в форме ImageList'а? Тогда задача сильно упрощается...

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

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

Добавлено: 04 июн 2004, 01:04
AiK
TB_SETIMAGELIST?

Добавлено: 04 июн 2004, 01:26
HumVee
TB_SETIMAGELIST?
Оно самое. Чего-то я его раньше не заметил... Ещё раз всем огромное спасибо, всё работает так как я и хотел.

Добавлено: 04 июн 2004, 17:27
Romeo
Мдяяяя. Тяжёлый случай :)