对话框支持文件拖拽

1.对话框资源属性

  Accept Files->TRUE

2.对话框类 ,响应WM_DROPFILES消息

void CHexViewDlg::OnDropFiles(HDROP hDropInfo)
{
    TCHAR szFileName[MAX_PATH] = { 0 };
    UINT nNumOfFiles = 0;                            //拖入文件的个数
    nNumOfFiles = DragQueryFile(hDropInfo, 0, szFileName, MAX_PATH);

    if (PathIsDirectory(szFileName))                // 判断是否是文件
        return;

    m_strHex.Format(_T("共拖入%d个文件"), nNumOfFiles);
    MessageBox(m_strHex);
    m_strHex.Empty();

    SetDlgItemText(EDIT1, szFileName);
    DragFinish(hDropInfo);                            //释放系统分配的内存

    CDialogEx::OnDropFiles(hDropInfo);
}
原文地址:https://www.cnblogs.com/Lthis/p/4311398.html