Дублировать значки «Свернуть / Восстановить / Закрыть» на строке меню в MFC / VS2010

Я переместил приложение MFC из Microsoft Visual C ++ 6.0 (с теми же базовыми классами, например, CWnd) в Visual Studio 2010. Приложение является дочерним MFC-приложением MDI.

Единственная проблема, остающаяся в результате изменений, заключалась в том, что иногда дублировались значки системного меню в строке меню окна (CView). Это как слева, так и справа от строки меню. Я не могу публиковать фотографии, поскольку у меня недостаточно высокая репутация! Значки левой руки Правая рука иконки

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

  1. Наличие одного документа и открытого просмотра
  2. Изменить документ (SetModified)
  3. Закройте документ и просмотрите без сохранения изменений
  4. Откройте оригинальный документ. На этом этапе заголовок представления показывает проблему

Решения, которые я попробовал:

  • Установка строки меню в NULL перед закрытием документа. Затем настройте строку меню после открытия документа
  • ModifyStyle для удаления WS_SYSMENU (с WS_CAPTION или в и без)

У меня кончились идеи. Я знаю, что ранее было опубликовано 2 похожих вопроса о дубликатах значков, но я не видел никакого разрешения.

Спасибо за любую помощь.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]