Войти

Показать полную графическую версию : Win32 API | Смена цвета шрифта у кнопки


Savant
22-02-2005, 22:16
Нужно цвет шрифта у кнопки махнуть на красный (типо индикация важного сообщения). Делаю так:


// возвращает 26214416
SelectObject(GetDC(Button4.Handle), GetStockObject(DC_BRUSH));
// возвращает 16777215
SetDCBrushColor(GetDC(Button4.Handle), RGB($FF,00,00));


и ничего не меняется...

Savant
01-03-2005, 11:02
Я так понимаю, что ничего больше как отрисовать кнопку самому никто не предложит?
Ну что ж, будем рисовать....

Mike124
02-03-2005, 09:53
У Борланда это делать бесполезно. Там все внутри прорисовывается и внешние "пляски святого Витта" не проходят. Странно, что возможность менять цвет кнопки и ее шрифта не реализована Борландом.

Savant
02-03-2005, 19:21
Mike124
Не надо таких резкостей... У Борланда всё можно, равно как и у всех других компиляторов под Винды, WinAPI еще никто не отменял :). Легко поставить обработчик события OnMessage и самому "прокручивать" все сообщения. А шрифт (но не его цвет) кстати говоря можно сменить вполне обычным способом через свойство TButton.Font

pva
18-03-2005, 12:48
1. Попробуйте поменять Button->Font->Color
2. Если не поможет, то ответьте на сообщение форме WM_CTLCOLOTRTN примерно следующее:

SetTextColor(HDC(wparam), myColor);
return GetSystemColor(COLOR_BTNFACE);




© OSzone.net 2001-2012