MFC实现文件拖拽功能(附完整源码)

本文介绍了如何在MFC应用程序中实现文件拖拽功能。通过在窗口类添加处理拖放消息的OnDropFiles函数,设置窗口接受拖放,并在该函数中处理拖放的文件信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MFC实现文件拖拽功能


在MFC框架下,实现文件拖拽功能可以通过以下步骤:

  1. 在窗口类中添加处理文件拖拽消息的函数OnDropFiles,并在消息映射表中添加对应的映射关系。
afx_msg void OnDropFiles(HDROP hDropInfo);
BEGIN_MESSAGE_MAP(CMyDlg, CDialogEx)
    ON_WM_DROPFILES()
END_MESSAGE_MAP()
  1. 在OnInitDialog函数中设置窗口为可接受拖拽文件。
DragAcceptFiles(TRUE);
  1. 在OnDropFiles函数中获取拖拽文件的信息,并进行相应处理。
void CMyDlg::OnDropFiles(HDROP hDropInfo)
{
    TCHAR szFileName[MAX_PATH] = {0};
    UINT nCount = DragQueryFile(hDropInfo, -1, NULL, 0);
    for (UINT i = 0; i < nCount; i++)