Можно ли нарисовать меню (не всплывающее меню) в любой прямоугольной области окна с помощью MFC? - PullRequest
0 голосов
/ 04 января 2009

Я переопределяю метод OnNcPaint () вместе с OnNcLButtonDown () и OnNcMouseMove () и методом OnNcHitTest (). Таким образом, оригинальное меню окна не существует. Я хочу добавить меню с областью панели заголовка. Как я могу это сделать?

Большое спасибо!

1 Ответ

1 голос
/ 05 января 2009

Меню окрашено как часть области, не относящейся к клиенту. Так что, если вы рисуете самостоятельно, вы также должны нарисовать окно самостоятельно. Возможно, вам удастся что-то сделать с помощью TrackPopupMenu, чтобы сделать фактическое рисование меню, и вам просто придется самостоятельно обрабатывать строку меню и элементы меню верхнего уровня.

Рисование области, не являющейся клиентом, само по себе чревато опасностями. Вы уверены, что не хотите использовать нарисованное владельцем меню ?

Может быть заманчиво настроить диалоги вашего пользовательского интерфейса в соответствии с вашими потребностями, но также имейте в виду, что это раздражает пользователей, которые уже привыкли к внешнему виду окон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...