Сведения о вопросе

ЧОВИД

23:37, 5th August, 2020

Теги

c++   visual-c++   mfc    

Как приложение MFC может завершить само себя?

Просмотров: 459   Ответов: 5

Каков правильный способ для приложения MFC полностью закрыть себя?



  Сведения об ответе

lool

17:22, 20th August, 2020

AfxGetMainWnd()->PostMessage(WM_CLOSE);


  Сведения об ответе

prince

15:14, 4th August, 2020

Программно завершить работу приложения MFC

 void ExitMFCApp()
   {
        // same as double-clicking on main window close box
        ASSERT(AfxGetMainWnd() != NULL);
        AfxGetMainWnd()->SendMessage(WM_CLOSE);
   }

http://support.microsoft.com/kb/117320


  Сведения об ответе

FAriza

12:01, 16th August, 2020

В поддержку ответа @Mike's причина использования этого метода состоит в том, чтобы вызвать правильную последовательность завершения работы. Особенно важно для MDI / SDI приложений, потому что это дает возможность для документов запрашивать сохранение перед выходом или отменить выход.

@Matt Ногучи, ваш метод будет обходить эту последовательность (что может быть желаемым эффектом, я полагаю, но у вас, вероятно, есть проблемы , если вы закоротили обычное разрушение.


  Сведения об ответе

nYU

03:47, 27th August, 2020

PostQuitMessage( [exit code] );


  Сведения об ответе

COOL

04:56, 4th August, 2020

Если это диалоговое приложение, вы можете сделать это, вызвав функцию EndDialog().

Если это приложение на основе SDI/MDI, вы можете вызвать DestroyWindow. Но перед этим вам нужно будет сделать очистку самостоятельно (закрытие документов, освобождение памяти и ресурсов, уничтожение любых дополнительных windows созданных и т.д.).


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться