社区
界面
帖子详情
对话框和控件之间的消息如何控制
du51
2009-01-23 01:29:33
各位大侠你们好..我请教一个简单问题.
我建了一个对话框..里面有一个列表控件.
我想实现,一堆文件 拖放 进列表控件..列表控件显示它们.
我不想整个对话框都可以接受文件..只想列表控件接受文件.
问题出在消息上面..好像,只有控件能接受到消息..而拖放文件的处理函数是对话框的..
我如何才能实现我想要的功能.
刚开始学VC,请不吝赐教!
万分感谢.
...全文
140
6
打赏
收藏
对话框和控件之间的消息如何控制
各位大侠你们好..我请教一个简单问题. 我建了一个对话框..里面有一个列表控件. 我想实现,一堆文件 拖放 进列表控件..列表控件显示它们. 我不想整个对话框都可以接受文件..只想列表控件接受文件. 问题出在消息上面..好像,只有控件能接受到消息..而拖放文件的处理函数是对话框的.. 我如何才能实现我想要的功能. 刚开始学VC,请不吝赐教! 万分感谢.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sanvl
2009-01-23
打赏
举报
回复
OnDropFiles(HDROP hDropInfo)
{
POINT pt;
GetCursorPos(&pt);
CRect rtList;
m_list.GetWindowRect(&rtList);
if(!rtList.PtInRect(pt))//如果放下位置不在列表内
return;
}
du51
2009-01-23
打赏
举报
回复
我自己搞定了..从CListCtrl派生一个类就行了.呵呵..谢谢楼上两位了..
sanvl
2009-01-23
打赏
举报
回复
WS_EX_ACCEPTFILES 接受不到???
fishion
2009-01-23
打赏
举报
回复
同时设置一下列表控件的accept file属性
fishion
2009-01-23
打赏
举报
回复
把文件拖放到一个程序窗口里打开是一种十分普遍的方法。在MFC中可以通过如下方式实现:
1. 在Mainframe里面 响应WM_CREATE消息,也就是OnCreate里面,加入DragAcceptFiles(TRUE),如果是基于对话框的就放到OnPaint里面
2. 在Mainframe里面 添加对WM_DROPFILES消息的响应函数OnDropFiles
3. 在OnDropFiles函数中调用API函数DragQueryFile来检索被拖放文件的名字
具体代码如下:
void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
const int fileCount = DragQueryFile(hDropInfo, (UINT)-1, NULL, 0);
ASSERT(fileCount >= 1);
TCHAR fileName[MAX_PATH] = { 0 };
for (int i = 0; i < fileCount; ++i)
{
DragQueryFile(hDropInfo, i, fileName, MAX_PATH);
//OpenFile(fileName); //使用得到的文件名fileName
}
CFrameWnd::OnDropFiles(hDropInfo); //因为这句,无需使用DragFinish(hDropInfo)释放检索,如果是基于对话框的就用CWnd::OnDropFiles(hDropInfo);
}
自己参考一下吧,再用上其它方法结合一下就可以了
du51
2009-01-23
打赏
举报
回复
首先感谢楼上几位回答的..
可能是我问题说的不清楚..
当一个文件拖到一个可接受文件的窗体上时,,光标是会变化的.
我把对话框设为不可接受文件..而对话框上的列表框是可接受文件的.
我意思是,只有文件拖到列表框时,,才处理这个事件..否则不处理 .
而现在,我接受不到这个消息.
请问如何解决?
先行谢谢了.
软件界面设计工具_3款合集
此时,你可以选择打开窗体、打开网页、弹出
对话框
、修改属性值和关闭本身窗体等五种效果,这里我们选择“打开窗体”,然后在弹出的
对话框
里指向弹出窗体的文件。最后,点击“完成”按钮即可。 图八、使用UI...
JavaScript网页特效范例宝典源码
实例068 根据下拉菜单的值显示不同
控件
112 实例069 分级下拉列表 113 2.3 单选按钮组 114 实例070 不提交表单获取单选按钮的值 114 实例071 选中单选按钮后显示其他表单元素 116 实例072 通过单选按钮
控制
其他表单...
Google Android SDK开发范例大全(PDF高清完整版3)(4-3)
3.10 不同Activity
之间
的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的
对话框
——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...
Google Android SDK开发范例大全(PDF完整版4)(4-4)
3.10 不同Activity
之间
的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的
对话框
——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...
Google Android SDK开发范例大全(PDF高清完整版1)(4-1)
3.10 不同Activity
之间
的数据传递——Bundle对象的实现 3.11 返回数据到前一个Activity——startActivityForResult方法 3.12 具有交互功能的
对话框
——AlertDialog窗口 3.13 置换文字颜色的机关——Button与TextView...
界面
15,979
社区成员
115,897
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章