Пользовательские значки в заголовке — Vista / Windows7

Я хотел бы добавить пользовательскую кнопку в заголовок окна. Это не обязательно должно работать на XP — только на Vista и выше. Поиск в сети дает много результатов для способа WM_NCPAINT (например, http://www.catch22.net/tuts/custom-titlebar). Есть ли способ сделать это с помощью Vista/Windows7 с включенным Aero?

Спасибо за любую помощь, Дэн.


person Dan    schedule 02.07.2010    source источник


Ответы (1)


Простого способа сделать это нет даже в Vista/7. Если вы не хотите использовать метод WM_NC*, вы можете создать свое окно без стилей WS_CAPTION, WS_SYSMENU и т. д., использовать DwmExtendFrameIntoClientArea, чтобы сделать часть клиентской области рамкой окна, а затем нарисовать заголовок самостоятельно. Однако это не меньше работы, чем использование метода MC_NC*, потому что вам нужно будет реализовать все функции панели заголовка (системное меню, окно закрытия, поле максимизации и т. д.) самостоятельно.

person Geoffrey Elliott    schedule 01.05.2011