информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяСетевые кракеры и правда о деле ЛевинаГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 С наступающим 
 Серьезная уязвимость в Apache Log4j 
 Крупный взлом GoDaddy 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
в тулбарах (192,192,192) кажется заменяется на фон автоматически 08.11.02 21:20  Число просмотров: 1061
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
<programming>
[Win32] Toolbar: как нарисовать bitmap с прозрачным фоном? 08.11.02 20:43  
Автор: vim Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я тут запутался в тулбарах

У меня есть некий bitmap в ресурсах, я его подставляю в TB_ADDBITMAP и создаю image для кнопки на тулбаре. Как ему задать прозрачный фон?
Битмапы вроде не имеют такого свойства как прозрачный фон, но как то же это делается...

В ручную я это делаю так:

HDC hdcMem = CreateCompatibleDC( hDC );

SelectObject( hdcMem, hBmp );

TransparentBlt( hDC, // Destination DC
x, y, m_BmpWidth, m_BmpHeight,
hdcMem, 0, 0, m_BmpWidth, m_BmpHeight, // Source DC
m_TransparentColor );

DeleteDC( hdcMem );

где m_TransparentColor указывает на цвет, который должен быть прозрачным, например RGB(128,128,0)

Вторая проблема из той же области:

функция DrawState() позволяет нарисовать текст или битмап какими они должны быть в состоянии disabled (fuFlags = DSS_DISABLED).

В качестве "прозрачного" фона она берет белый цвет. А у меня, к примеру, белый цвет используется в рисунке, и поэтому фон я задал другим цветом, например, зеленым, и в TransparentBlt указываю этот (зеленый) цвет в качестве прозрачного.
Если теперь это изображение нарисовать с помощью DrawState - то мой прозрачный зеленый цвет станет черным и изображение в состоянии disabled не будет соответствовать изображению в состоянии enabled.

Вобщем, как правильно нарисовать bitmap чтоб
1) я мог задать ему прозрачный фон
2) можно было нарисовать его в состоянии disabled

Подскажите кто знает...
в тулбарах (192,192,192) кажется заменяется на фон автоматически 08.11.02 21:20  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach