Ответ Стейна не полностью завершен, так как заголовок и граница окна также будут перерисованы, когда он (де) активирован.Так что в дополнение к WM_NCPAINT
вам также потребуется обработать WM_NCACTIVATE
.К сожалению, это не может быть просто заменено, поскольку в обработчике сообщений по умолчанию есть другой код (кроме кода рисования), который необходимо выполнить.Но вызов обработчика по умолчанию, в свою очередь, приведет к тому, что заголовок по умолчанию и граница будут нарисованы первыми, а затем вам нужно будет нарисовать их нужным цветом, что приведет к мерцанию.настроить область рисования, с которой вызывается обработчик сообщений по умолчанию.См. «Создание заголовка заголовка в XP с темами» для примера использования вызовов API Windows, которые должны легко переводиться в Delphi.Обратите внимание, что это относится только к тексту в строке заголовка, но принцип применим.