Re[3]: BS_OWNERDRAW и DrawState
От: Alexander G Украина  
Дата: 29.06.17 16:34
Оценка:
Здравствуйте, Vaynamond, Вы писали:

V>Нет, я просто хочу вывести картинку на кнопке (совместно с текстом). Под кнопкой никаких контролов нет — только диалог.

V>Но, поскольку картинка обычная BMP, DrawState выводит ее всю.

А, то есть надо дать кнопке нарисоваться штатно, затем нарисовать свой битмап сверху?

Убрать BS_OWNERDRAW,
обрабатывать NM_CUSTOMDRAW: при CDDS_PREPAINT возвращать CDRF_NOTIFYPOSTPAINT, при CDDS_POSTPAINT — рисовать свой битмап.


(да, NM_CUSTOMDRAW для кнопки требует Common Controls 6.0, которые через манифест включаются.
А если они не используются, то таки остаться на BS_OWNERDRAW, и перед своим битмапом рисовать кнопку через DrawFrameControl, этого должно быть достаточно, ибо без Common Controls 6.0 визуальных стилей нет)
Русский военный корабль идёт ко дну!
Отредактировано 29.06.2017 16:43 Alexander G . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.