AfxMessageBox timeout
Jim Krahn -- Jim_Krahn@globalvillag.com Monday, July 29, 1996 Environment: VC++ 4.x, Win 95 How can I get a standard AfxMessageBox to timeout after a specified period of time instead of waiting for the user to hit the ok or cancel buttons? I have created my own dialog box with a timer but I don't get the nice window sizing and information/warning icons of the standard AfxMessageBox. Thanks, Jim
Kit Kauffmann -- kitk@mudshark.sunquest.com Friday, August 02, 1996 [Mini-digest: 3 responses] >Environment: VC++ 4.x, Win 95 > >How can I get a standard AfxMessageBox to timeout after a specified >period of time instead of waiting for the user to hit the ok or cancel >buttons? > >I have created my own dialog box with a timer but I don't get the nice >window sizing and information/warning icons of the standard >AfxMessageBox. > >Thanks, Jim You'll have to do the timout thing yourself, Jim, but to close a MessageBox, I use code like: CDialog* pMsgBox; if( pMsgBox = (CDialog*) CWnd::FindWindow( "#32770", AfxGetAppName() ) ) pMsgBox->EndDialog( IDCANCEL ); HTH! I don't suffer from insanity. I enjoy every minute of it. -----From: Qing ZhaoHi, Jim You can setup the timer inside your app. When you call MessageBox, reset the timer. After time out, use FindWindow (NULL, lpstrCaption) to find MessageBox. If Window is still there, then destroy it. Good Luck! QING ZHAO "Syncro Development Corp" qzhao@syncro.com -----From: Gonzalo Isaza Create the timer before the message box is created. Then call AfxMessageBox. Your timer routine keeps track of the active window. Once the active window changes it can check the caption to make sure it is the message box. The timer callback routine keeps track of the time now. Once the timeout takes place, it calls DestroyWindow(hwndMessageBox). If the message box is destroyed by the user, you just kill the timer immediately after. Good luck. Gonzalo I speak for myself. I do not speak for Microsoft.
| Вернуться в корень Архива |