以Edit接收文件为例
首先,edit属性中accept files,mutiline两项为true
.h文件
#pragma once
// CDropEdit
class CDropEdit : public CEdit
{
DECLARE_DYNAMIC(CDropEdit)
public:
CDropEdit();
virtual ~CDropEdit();
protected:
afx_msg void OnDropFiles(HDROP hDropInfo);
CString strText;
DECLARE_MESSAGE_MAP()
};
.cpp
// DropEdit.cpp : 实现文件
//
#include "stdafx.h"
#include "CMoveListBox.h"
#include "DropEdit.h"
// CDropEdit
IMPLEMENT_DYNAMIC(CDropEdit, CEdit)
CDropEdit::CDropEdit()
{
strText = "";
}
CDropEdit::~CDropEdit()
{
}
BEGIN_MESSAGE_MAP(CDropEdit, CEdit)
ON_WM_DROPFILES()
END_MESSAGE_MAP()
// CDropEdit 消息处理程序
void CDropEdit::OnDropFiles(HDROP hDropInfo)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
UINT count;
char filePath[200];
count = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);
if(count)
{
for(UINT i=0; i<count; i++)
{
GetWindowText(strText);
strText +="\r\n";
int pathLen = DragQueryFile(hDropInfo, i, filePath, sizeof(filePath));
strText +=filePath;
SetWindowText(strText);
}
}
SetWindowText(strText);
DragFinish(hDropInfo);
CEdit::OnDropFiles(hDropInfo);
}
欢迎加入vc技术交流群:320307654