Здравствуйте, lucifer_vrn, Вы писали:
_>Здравствуйте! _>Подскажите пожалуйста, как поместить кнопку или хотя бы просто нарисовать нечто в заголовке окна рядом с кнопками "закрыть", "свернуть", "развернуть"? _>Тут множество топиков про это, равно как и в гугле, но тут есть одна проблема — они не работают по Windows Vista/ Windows Seven, т.е. под Aero(если его отключить то все работает). А меня интересует именно под висту, если под более раними осями работать не будет — не страшно.
Aero не позволяет рисовать в неклиенской области окна (при попытке это сделать Aero отключается), зато рамку можно расширить в клиентскую область.
Поэтому:
1) путем обработки WM_NCCALCSIZE системе внушается, что клиентская область окна занимает все окно.
2) с помощью DwmExtendFrameIntoClientArea() восстанавливаем визуально исходный размер рамки.
3) теперь остается сущая мелочь — самостоятельно реализовать всю функциональность неклиенской области, которая ушла лесом из-за п.1.
4) и сущая мелочь номер два — доработать напильником рисование клиентской области, чтобы на месте рамки рисовалось только то, что нужно.