2016-08-09 2 views
-2

Я хочу изменить набор цветов, используемых в моем программном обеспечении. Мои исследования привели меня к функции SetSysColor(). Проблема с этой функцией заключается в том, что на каждое программное обеспечение на компьютере влияет изменение, а не только исполняемый файл, который я хочу изменить.Ограничения SetSysColor для одного приложения

Есть ли способ или альтернатива изменить набор цветов, используемых моим приложением, без необходимости перерисовывать все вручную?

+3

Вы можете использовать тематическую библиотеку –

+0

sadly Это не вариант для меня – Pumkko

+1

Сверните свои рукава, а затем нарисуйте свое приложение. –

ответ

1

В некоторых случаях использование пользовательских цветов действительно может быть выгодным (выделение, уведомления, цветовое кодирование и т. Д.); просто не переусердствуйте. В WinAPI есть определенные способы (обычно доступные в MFC - через события или прямые обработчики сообщений WIndows), которые позволяют настраивать внешний вид вашего приложения. Просмотрите документацию для собственных элементов управления, пользовательских цветов управления, WIndows Class Brushes, таких как WM_CTLCOLOR и WM_ERASEBKGND. Вы также можете настроить внешний вид неклиентской области окна (например, заголовок, границы и т. Д.), Хотя это изменяется внешний вид вашего приложения намного более резко. См. Такие сообщения, как NC_PAINT и NC_HITTEST.