在MFC下实现鼠标拖放文件非常简单,以最简单的Dialog工程为例,主要修改以下几个地方:
XXXDlg.h下面追加 afx_msg void OnDropFiles(HDROP hDropInfo); XXXDlg.cpp下面追加 BEGIN_MESSAGE_MAP(CWinowsTransDlg, CDialog) ON_WM_DROPFILES() //}}AFX_MSG_MAP END_MESSAGE_MAP() XXXDlg::OnInitDialog()中追加: DragAcceptFiles(); 最后追加 void XXXDlg::OnDropFiles(HDROP hDropInfo) { TCHAR buf[2048]; ::DragQueryFile(hDropInfo, 0, buf, 2048); ::DragFinish(hDropInfo);
CString str(buf);
GetDlgItem(STATIC_FileName)->SetWindowText(str); /* DoLoadFile(buf);*/ //CDialog::OnDropFiles(hDropInfo); } http://222.30.226.10/hhcmc/study/program1/program/501.htm http://book.77169.org/ask19/how111441.htm http://www.evget.com/zh-CN/article/2423/default.aspx http://www.vckbase.com/article/files/0002.htm