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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[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-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach