MFC 处理拖拽事件

来源:互联网 发布:sqlserver 创建实例 编辑:程序博客网 时间:2024/05/13 07:05

1.首先在Dlg类中添加WM_DROPFILES消息处理函数。

void CMyDlg::OnDropFiles(HDROP hDropInfo)
{
 // TODO: Add your message handler code here and/or call default

 CDialog::OnDropFiles(hDropInfo);
}

2.在Dlg对话框上设置属性Accept files为true。

3.在处理函数中作相应的处理。

void CMyDlg::OnDropFiles(HDROP hDropInfo)
{
 // TODO: Add your message handler code here and/or call default
 char szFileName[MAX_PATH + 1] = {0};//被拖拽的文件的绝对路径
 UINT nFiles = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0); //被拖拽的文件的个数
 for(UINT i=0; i<nFiles; i++)
 {
  DragQueryFile(hDropInfo, i, szFileName, MAX_PATH);//拖拽的文件名
  MessageBox(szFileName);
 }
 // 结束此次拖拽操作,并释放分配的资源
 CDialog::OnDropFiles(hDropInfo);
}

原创粉丝点击