All the Dynamic Data Exchange (DDE) messages are discarded when a Microsoft Foundation Classes (MFC) application displays a modal dialog box (280467)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition 6.0
- Microsoft Visual C++, 32-bit Professional Edition 6.0
- Microsoft Visual C++, 32-bit Learning Edition 6.0
- Microsoft Visual C++ 2005 Express Edition
- Microsoft Visual C++ .NET (2003)
- Microsoft Visual C++ .NET (2002)
This article was previously published under Q280467 Note Microsoft Visual C++ .NET 2002 and Microsoft Visual C++ .NET 2003 support both the managed code model that is provided by the Microsoft .NET Framework and the unmanaged native Microsoft Windows code model. The information in this article applies only to unmanaged Visual C++ code. Microsoft Visual C++ 2005 supports both the managed code
model that is provided by the Microsoft .NET Framework and the unmanaged native
Microsoft Windows code model. SYMPTOMS While a Microsoft Foundation Classes (MFC) application
displays a modal dialog box, all the Dynamic Data Exchange (DDE) messages are
discarded. This becomes obvious in the case of a multiple-document interface
(MDI) application that displays a modal dialog box when the end user
double-clicks on a file whose extension is associated with the application. The
user's attempt to open the new file is ignored. CAUSE The CFrameWnd class has code that ignores all DDE requests
while the frame window is disabled, and the shell (Windows Explorer) tries to
open new files by using DDE. Because MFC implements modal dialog boxes by
disabling the dialog box's parent, modal dialog boxes hamper the application's
ability to handle DDE requests. RESOLUTION To work around this problem you must override CFrameWnd's
handling of the WM_DDE_EXECUTE message and cache all DDE commands in order to
execute them as soon as the frame window is re-enabled.
Modification Type: | Major | Last Reviewed: | 1/9/2006 |
---|
Keywords: | kbtshoot kbArchitecture kbDDE kbDlg kbprb KB280467 kbAudDeveloper |
---|
|