MFC实现对话框编辑控件上拖拽文件
本文实例为大家分享了MFC实现对话框编辑控件上拖拽文件的具体代码,供大家参考,具体内容如下
步骤
1、重载CEdit类
2、添加编辑框控件
首先,重载CEdit类,定义一个派生类CDragEdit类,并重载它的WM_CREATE方法,在其中添加DragAcceptFile(TRUE);方法。
//CDragEdit.h
#pragmaonce
classCDragEdit:publicCEdit
{
DECLARE_DYNAMIC(CDragEdit)
public:
CDragEdit();
virtual~CDragEdit();
protected:
DECLARE_MESSAGE_MAP()
public:
afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);
afx_msgvoidOnDropFiles(HDROPhDropInfo);
};
然后,利用类向导为CDragEdit类添加WM_DROPFILE消息相应函数;
//CDragEdit.cpp
intCDragEdit::OnCreate(LPCREATESTRUCTlpCreateStruct)
{
if(CEdit::OnCreate(lpCreateStruct)==-1)
return-1;
//TODO:在此添加您专用的创建代码
DragAcceptFiles(TRUE);
return0;
}
voidCDragEdit::OnDropFiles(HDROPhDropInfo)
{
UINTcount;
TCHARfilePath[MAX_PATH]={0};
count=DragQueryFile(hDropInfo,-1,NULL,0);
if(1==count)
{
DragQueryFile(hDropInfo,0,filePath,sizeof(filePath));
this->SetWindowTextW(filePath);
UpdateData(FALSE);
DragFinish(hDropInfo);//拖放成功后,释放内存
}
else
{
CStringszFilePath;
for(UINTi=0;iSetWindowTextW(szFilePath);
UpdateData(FALSE);
DragFinish(hDropInfo);
}
//MFCDlg.h
#programonce
#include"CDragEdit.h"
classCMFDlg:publicCDialogEx
{
……………………
public:
CDragEditm_DragEdit;
}
最后,设置文本框控件属性[AcceptFiles]、[multiline]值为True.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西