I've written a DialogClass which supports Drag & Drop.
First I will describe how you can add the Drag&Drop behaviour to an existing
dialog - That's really simple
Copy the DragDialog.h and DragDialog.cpp to your project directory.
For example, the name of my dialog class is
CTestDragDlg. Include DragDialog.h in your StdAfx.h or in the .h and .cpp file of your dialog.
Open the header file of your dialog and search for a line looking like this:
class CTestDragDlg : public CDialog
, it should then look like this:
class CTestDragDlg : public CDragDialog
Now open the .cpp file of your dialog and search for a line looking like this:
CTestDragDlg::CTestDragDlg(CWnd* pParent )
: CDialog(CTestDragDlg::IDD, pParent)
Now search the code for something look like this:
Now try to compile it!
If you get any errors with a precompiled header, go to the project options and
say that you won't use precompiled headers.
Congratulations, you have now a Drag&Drop Dialog!
Now you can change the drag behaviour of your DragDialog, here are some examples.
Have a lot of fun with it!