Как перекрасить Edit Box и другие "штучки", известно: надо обработчик WM_CTLCOLOR добавить и кое-что туда дописать. Но вот с кнопками такое не проходит. Или единственное решение - это bitmap на неё наложить ? Заранее благодарен
Надо кнопки в ресурсе объявлять со стилем BS_OWNERDRAW. Потом делаем базовый класс от которого заимствуются все диалоговые окна. В диалоговой процедуре класса отвечаем на сообщение WM_DRAWITEM и рисуем кнопку во всех состояниях (disabled, нажатом, отжатом).
2 AsmGuru62 Слушай, я проделал всё выше сказанное, ну вот так и не понял, что нужно добавить в обработчик WM_DRAWITEM, чтобы перекрасить уже готовую кнопку из ресурсов в другой цвет. Кусок кода кинуть не можешь ? Был бы очень признателен.
Sokol_2 В WM_DRAWITEM нужно собственноручно рисовать всю кнопку. Рисовать фон, на нём - 3х-мерные грани в соответствии со статусом кнопки и текст.
2 Quantum Т.е. VC++ IDE ресурсами тут никак не воспользоваться ? Тогда что звать надо ? Функции из MFC CButton ? Заранее благодарен
Sokol_2 Кнопка со стилем BS_OWNERDRAW отличается от любой другой кнопки только тем, что она сама не отрисовывается. Функции GDI: FillRect, DrawFrameControl, DrawFocusRect, DrawText, GrayString и т.д.