Как добавить дополнительную кнопку в строку заголовка окна, чтобы она работала стандартно?

Во-первых, я хочу упомянуть, что я уже прочитал все статьи на эту тему, но у меня до сих пор нет ответа на мой вопрос. Также мой вопрос немного отличается от других.
Сегодня я смотрю в окне Skype. В строке заголовка есть одна дополнительная кнопка. Но эта кнопка действует как кнопка родной системы. Просто посмотрите на светящийся, он распространяется из окна. Итак, у меня есть резонный вопрос. В соответствии с этим мы можем видеть на картинке ниже, есть стандартный способ добавить дополнительную кнопку в строке заголовка. Но все ответы на Subj приводит к подключению WM_NCPAINT Событие и ручное рисование дополнительной кнопки. Этот подход - работа, но он не может дать такого красивого свечения, как на картинке.
Кто-нибудь знает способ добавить стандартизированную кнопку в строке заголовка окна? Заранее спасибо!

2 ответа

Решение

В Vista и Windows 7 есть новая вещь, называемая диспетчером окон рабочего стола. Это используется для рисования заголовков окна "Aero glass" и выполнения эффектов свечения. Старый подход Windows XP по реализации обработчиков WM_NCPAINT не работает с этой новой системой, поэтому вы должны использовать совершенно новый API.

Я уверен, что видел несколько статей о том, о чем ты спрашиваешь, но сейчас не могу их найти. Некоторые страницы, которые могут дать вам некоторые ссылки:

Да, это может быть (и, несомненно , так) сделано путем перехвата WM_NCPAINT и рисования их кнопки в ответ на это. "Светящиеся" - это просто вопрос выбора подходящего цвета и затенения (и, возможно, немного альфа-смешивания, чтобы немного "свечения" отображалось рядом с кнопкой).

Другие вопросы по тегам