这次我学习了如何将文件拖拽到对话框的编辑控件中,具体如下:
要实现这个功能,首先要重载CEdit类,定义个派生类CDragEdit类,并重载他的WM_CREATE方法,在其中添加DragAcceptFile(TRUE);方法
然后利用类向导为CDragEdit类添加WM_DROPFILE消息响应函数:
代码如下:
void CDragEdit::OnDropFiles(HDROP hDropInfo)
{
// TODO: 拖拽文件的响应函数
WORD wNumFileDropped = DragQueryFile(hDropInfo, -1, NULL, 0);
CString firstFile = "";
for (WORD x = 0; x < wNumFileDropped; x++){
WORD wPathnameSize = DragQueryFile(hDropInfo, x, NULL, 0);
char* npszFile = (char*)LocalAlloc(LPTR, wPathnameSize += 1);
if (npszFile == NULL