Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И вновь TBitBtn - преобразование цветов


Stargazer ©   (2003-07-04 01:04:00) 

Везет мне на такие штуки:
Создаю TBitBtn и загружаю для нее битмап из ресурса (BMP 24x24, 24b color), все хорошо, только битмап непрозрачный.
Но лучшее - враг хорошего! Захотелось прозрачности - передаю кнопке тот же битмап, только предварительно загруженный в ImageList. И цвета поехали-и... Такое ощущение, что 24-битный цвет преобразовался даже не 8-битный, а в 16-цветный.
Вот такие пряники.
Куда рыть? Это Windows виновата или где?
P.S. Скомпильнул на Delphi - то ж самое.


Кладов   (2003-07-16 16:38:00) [1]

Упразднять ничего не надо, а добавить новый контрол можно. Или, еще лучше, еще одно свойство для TKOLButton (MCK) / TControl (KOL). Насчет иконки надо смотреть.


Dimaxx   (2003-07-14 01:21:00) [2]

Кстати, надо бы в KOL упразднить старый TBitBtn и ввести новый на основе обычной кнопки, тока со стилем BS_BITMAP или BS_ICON. А то в ХР при включенных стилях эта BitBtn смотрится как валенок на африканском побережье. Я пробовал со стандартным батоном - все засылается. НО!!!!

var ico: Hicon;
   BB: PControl;   // Кнопка
   Bbh: Hwnd;
begin
BB.Style:=bs_icon or ws_visible or ws_child;
Bbh:=BB.GetWindowHandle;
ico:=LoadIcon(hinstance,PChar('test'));
sendMessage(Bbh,bm_setimage,2,ico);
form.Invalidate;
end;


Этот код грузит иконку из ресурса и шлет на кнопку. Но если загрузить иконку в PIcon, а затем послать ее хэндл на кнопку, то иконка не выводится, как не кувыркайся!!!!!! И не говорите мне, что какая разница - нифига не выходит!


Vladimir Kladov   (2003-07-04 17:47:00) [3]

В imagelist есть свойство, которое управляет цветностью, попробуйте до добавления картинки установить его в нужное значение. А вообще, если картинка содержит действительно мало цветов, ну и сохранить ее заранее в графическом редакторе именно в том формате, который оптимален по размеру. pf4bit - это 16 любых</> цветов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо