FIX: CWnd::DragAcceptFiles() in Books Online (150571)



The information in this article applies to:

  • The Microsoft Foundation Classes (MFC), when used with:
    • Microsoft Visual C++ 1.5
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52
    • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
    • Microsoft Visual C++, 32-bit Professional Edition 2.0
    • Microsoft Visual C++, 32-bit Professional Edition 2.1
    • Microsoft Visual C++, 32-bit Professional Edition 2.2
    • Microsoft Visual C++, 32-bit Professional Edition 4.0
    • Microsoft Visual C++, 32-bit Professional Edition 4.1
    • Microsoft Visual C++, 32-bit Professional Edition 5.0
    • Microsoft Visual C++, 32-bit Learning Edition 4.0

This article was previously published under Q150571

SYMPTOMS

The documentation for CWnd::DragAcceptFiles() in Books Online states:
Call this member function from within the main window in your application's CWinApp::InitInstance function to indicate that your main window and all child windows accept dropped files from the Windows File Manager.
This information is not correct. The message is not propagated to the child windows.

STATUS

MORE INFORMATION

Since DragAcceptFiles() is a member function of CWnd class, a CWnd pointer is needed to call this function in CWinApp::InitInstance(). The window that calls DragAcceptFiles() with the bAccept parameter set to TRUE has identified itself as able to process the WM_DROPFILES message from Windows File Manager.

For example, in an MFC MDI application, if the CMDIFrameWnd window pointer is used in the DragAcceptFiles() function call, only the CMDIFrameWnd window gets the WM_DROPFILES message. This message is not sent to all open CMDIChildWnd windows. For a CMDIChildWnd window to receive this message, you need to call DragAcceptFiles() with the CMDIChildWnd window pointer.

The correct documentation is also found in Windows API DragAcceptFiles() function in Books Online.

Modification Type:MajorLast Reviewed:12/10/2003
Keywords:kbBug kbDocs kbfix kbNoUpdate kbVC600fix KB150571