首页
社区
课程
招聘
[求助]怎么实现对文件的拖拽行为啊
发表于: 2009-3-17 09:01 5296

[求助]怎么实现对文件的拖拽行为啊

2009-3-17 09:01
5296
我想实现对文件的操作,现在只能在editbox里面手动输入文件地址再进行操作,感觉(相当!!!麻烦),怎么才能实现(将文件拖拽进editbox里面,同时就获取了文件路径呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
拖拽需要使用COM来操作的
2009-3-17 09:03
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不需要COM就可以
2009-3-17 09:52
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
4
貌似在VS2005的资源中, 将该窗口的属性改动一个地方,就实现了拖拽,然后你得自己加点儿代码响应这个拖拽...
2009-3-17 09:56
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
5
1. 在初始化窗体的时候加入函数DragAcceptFiles(hWnd, TRUE);即让窗体接受文件拖拽。
2. 拖拽的消息即是WM_DropFILES,在收到WM_DropFILES消息时,做想要的文件载入等操作即可:

case WM_DropFILES:
wFileCount = DragQueryFileA((HDrop)wParam, -1, NULL, 0);

if (wFileCount > 0)
{
DragQueryFile((HDrop)wParam, 0, szPath, MAX_PATH);
pDlg->OnLoad(szPath);
}
DragFinish((HDrop)wParam);
break;


btw: 一个小招,在收到鼠标左键按下的时候用case WM_LBUTTONDOWN: SendMessage(hWnd, WM_SYSCOMMAND, 0xF012, 0);能干什么呢? 居然就能用鼠标拖动客户区窗体移动,强啊,原来为了写这个功能在vckbase上面找了好几行代码才搞定,后面看了下面的回复,居然只要发这么一个消息就搞定了。。。


楼猪是个不折不扣的懒人!
2009-3-17 09:58
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
6
上传的附件:
2009-3-17 09:59
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
7
大米这回帮人帮到家了~
2009-3-17 10:37
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
VC6里面都有,Google一下遍地就是
2009-3-17 10:38
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
大米的头发都冒烟了
2009-3-17 10:39
0
雪    币: 615
活跃值: (1202)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=sudami;592509]楼猪是个不折不扣的懒人![/QUOTE]

  有代码有真相
2009-3-17 10:40
0
雪    币: 251
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
VC6 里也可以,改一下窗口有个拖拽属性,就可以拖拽了.
2009-3-17 11:42
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
这个问题,GOOGLE 能搜索出N条出来,为什么不肯动手!
2009-3-18 08:37
0
游客
登录 | 注册 方可回帖
返回
//