| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Как поменять цвет шрифта на STATIC'е? |
| Автор: S.A.G. 30.9.2009, 16:04 |
| SetTextColor, а потом слать ей WM_PAINT => не работает. |
| Автор: Earnest 30.9.2009, 16:06 |
| И не должно. Попробуй WM_CTLCOLOR на диалоге. На фон кнопки так повлиять нельзя, но вдруг можно на активный текст... А если нет, то придется делать OnerDraw кнопку и все рисовать самому. |
| Автор: GremlinProg 30.9.2009, 16:06 |
| для owner-drawn buttons подойдет перехват WM_CTLCOLORBTN |
| Автор: Earnest 30.9.2009, 16:08 |
| GremlinProg, если она уже owner-draw, то какой смысл, все равно самому рисовать... Думаешь, цвет текста без owner-draw не поменяется? |
| Автор: S.A.G. 30.9.2009, 16:16 |
| Возникает ситуация, когда надо изменить цвет -> шлю WM_PAINT кнопке, кнопка шлет WM_CTLCOLORSTATIC. В обработке делаю SetTextColor -> ничего не меняется. Странно, что самый первый WM_CTLCOLORSTATIC после создания диалога, меняет цвет и фон. |
| Автор: GremlinProg 30.9.2009, 16:28 | ||
по идее, не должен:
разве что субклассить, но это уже нецелесообразно, по крайней мере для такой задачи |
| Автор: S.A.G. 30.9.2009, 16:33 |
| Ой, я ошибся, речь идет о Static-е |
| Автор: GremlinProg 30.9.2009, 18:19 |
| для статика аналогично - из родительской процедуры окна этого статика, либо диалоговой процедуры перехватить WM_CTLCOLORSTATIC и поставить нужный цвет в девайс (HDC)wParam |