MFC MessageBox не отображается вверху всех окон - PullRequest
4 голосов
/ 13 января 2012

Я создал приложение в VC ++, проблема в том, что если происходит ошибка, я отображаю MessageBox.но этот MessageBox не отображается спереди.Я должен нажать клавишу ALT, чтобы стать перед этим приложением.Мое приложение становится неактивным, пока я не нажму ALT.и нажмите OK в окне сообщений.

Вот код, который прикреплен.

MessageBox(NULL,"Invalid File, Parsing is going to be terminate");

AfxMessageBox("Win32 MessageMessage",MB_OK | MB_ICONEXCLAMATION | MB_TOPMOST);

Буду очень признателен, если кто-нибудь мне поможет

1 Ответ

1 голос
/ 15 февраля 2012

Вам нужно передать Handle для отображения окна сообщений на экране. Вы можете использовать HWND WINAPI GetDesktopWindow (void);функция, чтобы получить дескриптор рабочего стола и передать его в функцию MessageBox ().

Вы можете получить дополнительную помощь от

http://msdn.microsoft.com/en-us/library/windows/desktop/ms633504%28v=vs.85%29.aspx

GetDesktopWindoe извлекает дескриптор окна рабочего стола.Окно рабочего стола покрывает весь экран.Окно рабочего стола - это область, поверх которой нарисованы другие окна.Так что это будет работать и для OpenGL.

...