在对话框中的编辑框控件中如何响应文件拖放时的OnDropFile()函数?

这个名字很响亮 2014-11-25 02:55:08
在网上找到了,都是些在对话框中响应文件拖放的。我想用编辑框控件来接受文件拖放,而在对话框中不接受文件的拖放,所以使编辑框能接受文件拖放使用了DragAcceptFiles函数,运行时,还是无法响应OnDropFiles函数。可能是OnDropFiles函数的入口哪里写的有问题,不知道如何设置,求大神帮帮忙啊
...全文
446 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
此名可用 2018-10-24
  • 打赏
  • 举报
回复
引用 7 楼 fevershen 的回复:
拖放文件到对话框中,鼠标没有出现加号;将文件拖到对话框中的编辑控件中,鼠标出现了加号,这时释放鼠标,没有响应
你需要给对话框设置Accept File,而不是给编辑框设置。然后绑定 OnDropFiles() 就可以收到响应了。
themostfreeboy 2015-12-30
  • 打赏
  • 举报
回复
我用VS2010编译,在win10系统下也不好使。对话框.h文件里类中有声明afx_msg void OnDropFiles(HDROP hDropInfo);对话框.cpp的map里有ON_WM_DROPFILES()消息,DDX中绑定了两个Edit控件的变量DDX_Control(pDX, IDC_EDIT1, EditControl); DDX_Text(pDX, IDC_EDIT1, EditValue);无论是在属性Accepet Files中设置true还是在OnInitDialog()函数中设置为true,无论是指设置Edit编辑框还是把Edit编辑框和Dialog对话框均设置为支持推拽,均不好使。先不考虑OnDropFiles(HDROP hDropInfo)函数中的具体代码是什么,只是往函数中写入一些调试代码或者加入断点,就发现OnDropFiles(HDROP hDropInfo)根本就没有进入。。。。应该跟发帖人现象一直,求大神帮助。对话框用的是模态对话框DoModal()启动的,其他的消息响应均正常。
schlafenhamster 2014-11-25
  • 打赏
  • 举报
回复
void CMoveEdit::OnDropFiles(HDROP hDropInfo) { // TODO: Add your message handler code here and/or call default afxDump << "OnDropFiles\n"; CEdit::OnDropFiles(hDropInfo); } 对话框和edit 都要有 Accepet Files属性
凌乱哥 2014-11-25
  • 打赏
  • 举报
回复
把你的工程传上来看看
  • 打赏
  • 举报
回复
引用 13 楼 lx624909677 的回复:
那个参考里的方法也不好用吗?
不好用,_ChangeWindowMessageFilter 这个是他自己定义的类吧;后来找到: http://blog.csdn.net/ningbinzhang/article/details/39956801 这个方法试了,编译链接通过,但是还是不能响应我的OnDropFile函数。
lx624909677 2014-11-25
  • 打赏
  • 举报
回复
那个参考里的方法也不好用吗?
  • 打赏
  • 举报
回复
引用 11 楼 dingxz105090 的回复:
试试在OnInitDialog里调用一下:
this->DragAcceptFiles(TRUE);
我是在OnInitDialog里调用GetDlgItem(对话框控件id)->DragAcceptFiles()的,结果还是不行。
凌乱哥 2014-11-25
  • 打赏
  • 举报
回复
试试在OnInitDialog里调用一下:
this->DragAcceptFiles(TRUE);
凌乱哥 2014-11-25
  • 打赏
  • 举报
回复
lx624909677 2014-11-25
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
引用 6 楼 lx624909677 的回复:
[quote=引用 5 楼 fevershen 的回复:] [quote=引用 3 楼 lx624909677 的回复:] 绑定消息了吗?BEGIN_MESSAGE_MAP中有ON_WM_DROPFILES()吗?如果都有,把你的代码关键部分贴一下
[/quote] 你为何注释掉那行代码。。。。[/quote] 注释部分的代码用不了,提示类型转换无效;下行的可以用
  • 打赏
  • 举报
回复
拖放文件到对话框中,鼠标没有出现加号;将文件拖到对话框中的编辑控件中,鼠标出现了加号,这时释放鼠标,没有响应
lx624909677 2014-11-25
  • 打赏
  • 举报
回复
引用 5 楼 fevershen 的回复:
[quote=引用 3 楼 lx624909677 的回复:] 绑定消息了吗?BEGIN_MESSAGE_MAP中有ON_WM_DROPFILES()吗?如果都有,把你的代码关键部分贴一下
[/quote] 你为何注释掉那行代码。。。。
  • 打赏
  • 举报
回复
引用 3 楼 lx624909677 的回复:
绑定消息了吗?BEGIN_MESSAGE_MAP中有ON_WM_DROPFILES()吗?如果都有,把你的代码关键部分贴一下


  • 打赏
  • 举报
回复
引用 1 楼 lx624909677 的回复:
编辑框空间的Accepet Files属性是否设置为true了?


这个函数设置断点后进不去
lx624909677 2014-11-25
  • 打赏
  • 举报
回复
绑定消息了吗?BEGIN_MESSAGE_MAP中有ON_WM_DROPFILES()吗?如果都有,把你的代码关键部分贴一下
  • 打赏
  • 举报
回复
引用 1 楼 lx624909677 的回复:
编辑框空间的Accepet Files属性是否设置为true了?
设置了,还是不行
lx624909677 2014-11-25
  • 打赏
  • 举报
回复
编辑框空间的Accepet Files属性是否设置为true了?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧