Пользовательский фон для нарисованного владельцем меню - PullRequest
0 голосов
/ 17 сентября 2010

Я использую mfc, чтобы нарисовать пользовательское меню, за исключением того, что оно имеет неприятную границу.Как мне избавиться от границы или нарисовать ее?

Например:

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

На самом деле, в дополнение к совету freefallr, это может быть просто WS_BORDER.

Попробуйте удалить его, используя:

ModifyStyle( WS_BORDER, 0, SWP_FRAMECHANGED );
0 голосов
/ 15 ноября 2010

Я использую только WTL для кодирования пользовательского интерфейса, прошло много лет с тех пор, как я смотрел на MFC, но он также очень близок к Windows API. Вы можете проверить флаги создания для меню.

Вызов GetWindowLong и, в частности, проверка GWL_EXSTYLE для WS_EX_CLIENTEDGE; это может быть причиной вашей проблемы. Вы всегда можете ИЛИ это и вызвать SetWindowLong и перерисовать меню для проверки.

Надеюсь, это поможет!

Обновление: Интересно, если кадр не обновляется. Попробуйте:

ModifyStyleEx (WS_EX_CLIENTEDGE, 0, SWP_FRAMECHANGED);

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