Я пишу исходные коды приложения MDI. Некоторое время назад я обнаружил ошибку MFC в своем приложении, к которой еще одна перетаскиваемая вкладка прикреплена к вкладке.
Панель, которую я хочу прикрепить к панели перетаскивания, имеет 3 закрепляемых панели, а вкладки, как показано ниже.
┌───────────────────────────────────────────┐
│ this is a docked pane.
└───────────────────────────────────────────┘
│Output│Message│Location│ <------ these are tabs.
И я перетащил панель с заголовком «Участники» в строку заголовка, которая находится в верхней части панели выше.
А потом, вкладки растут, как показано ниже, я все еще перетаскиваю.
|Output|Message|Location|Members|Members|
После того, как я переместил панель перетаскивания подальше от панели, исчезла только одна вкладка, как показано ниже.
|Output|Message|Location|Members|
Оставшаяся панель «Члены» аварийно завершает работу при закрытии.
Я нашел соответствующие исходные коды в функции PlaceTabPreDocking
в классе MFC, `CMFCDragFrameImpl.
Но, как вы знаете, я не могу изменить эти коды. Странно то, что ситуация с ошибками возникает только на моем рабочем столе, не всегда, но довольно часто, и приложение хорошо работает у всех моих друзей-ботаников.
Что я могу сделать? Пожалуйста, помогите мне. Я пытаюсь найти какие-то статьи в интернете в течение пары недель, но мне кажется, что ни у кого нет статей.