Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Win32 API | Смена цвета шрифта у кнопки (http://forum.oszone.net/showthread.php?t=45791)

Savant 22-02-2005 22:16 300851

Win32 API | Смена цвета шрифта у кнопки
 
Нужно цвет шрифта у кнопки махнуть на красный (типо индикация важного сообщения). Делаю так:

Код:

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

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

Savant 01-03-2005 11:02 302468

Я так понимаю, что ничего больше как отрисовать кнопку самому никто не предложит?
Ну что ж, будем рисовать....

Mike124 02-03-2005 09:53 302811

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

Savant 02-03-2005 19:21 302991

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

pva 18-03-2005 12:48 307933

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

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



Время: 02:43.

Время: 02:43.
© OSzone.net 2001-