Показать полную графическую версию : Win32 API | Смена цвета шрифта у кнопки
Нужно цвет шрифта у кнопки махнуть на красный (типо индикация важного сообщения). Делаю так:
// возвращает 26214416
SelectObject(GetDC(Button4.Handle), GetStockObject(DC_BRUSH));
// возвращает 16777215
SetDCBrushColor(GetDC(Button4.Handle), RGB($FF,00,00));
и ничего не меняется...
Я так понимаю, что ничего больше как отрисовать кнопку самому никто не предложит?
Ну что ж, будем рисовать....
У Борланда это делать бесполезно. Там все внутри прорисовывается и внешние "пляски святого Витта" не проходят. Странно, что возможность менять цвет кнопки и ее шрифта не реализована Борландом.
Mike124
Не надо таких резкостей... У Борланда всё можно, равно как и у всех других компиляторов под Винды, WinAPI еще никто не отменял :). Легко поставить обработчик события OnMessage и самому "прокручивать" все сообщения. А шрифт (но не его цвет) кстати говоря можно сменить вполне обычным способом через свойство TButton.Font
1. Попробуйте поменять Button->Font->Color
2. Если не поможет, то ответьте на сообщение форме WM_CTLCOLOTRTN примерно следующее:
SetTextColor(HDC(wparam), myColor);
return GetSystemColor(COLOR_BTNFACE);
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.