Gbenbam Ответов: 1

Как переопределить setmodifiedflag?


Название этого поста не совсем точно описывает мой вопрос. Я не мог придумать краткой подписи.

В приложении MFC Doc/View, как только SetModifiedFlag () вызывается после того, как происходит действие пользователя, MFC генерируется или вызывается messagebox появляется всякий раз, когда предпринимается попытка закрыть несохраненный документ.

Я хочу изменить цвет этого MFC, вызванного или сгенерированного messagebox, чтобы он соответствовал цвету элементов управления и messageboxes в моем приложении. Как мне это сделать?

Я готов переопределить соответствующую функцию MFC, которая позволит мне использовать мой собственный messagebox, но я действительно не знаю, какую функцию переопределить? Кто-нибудь слышит, знает ли соответствующую функцию для переопределения?

Что я уже пробовал:

Я потратил время на поиск в гугле, но безрезультатно.

1 Ответов

Рейтинг:
2

Jochen Arndt

Чтобы реализовать собственное окно сообщений переопределите виртуальное CDocument:: SaveModified[^] функция в вашем CDocument производный класс:

BOOL CMyDocument::SaveModified()
{
    if (!IsModified())
        return TRUE;

    // Show your own message box here.
    // Return TRUE to continue and close the document, and
    //  FALSE if the document should not be closed.
}
Вы также можете посмотреть на реализацию по умолчанию в doccore.cpp в исходном каталоге MFC.