VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 607|回复: 5

[讨论] 很久很久没来了,深夜造访只为发个问题考考大神们

[复制链接]

21

主题

8

听众

9012

积分

网络程序员

Rank: 6Rank: 6

擂点
0
人气
31
威望
62
注册时间
2009-1-25
精华
0
帖子
570
发表于 2016-12-29 00:58:06 |显示全部楼层
本帖最后由 sunshinebean 于 2016-12-29 01:02 编辑

win7以上系统管理员权限运行的进程,如果收不到WM_DROPFILES消息的话可以用ChangeWindowMessageFilter搞定.(详见:http://blog.csdn.net/whatday/article/details/44278605)
但是这个在vb6里面就是不管用 大伙可以试试看,不管用vb6自带的OLEDragDrop 还是说你自己子类化控件,用WM_DROPFILES消息处理 都是不管用的...

大神们有木有研究过让vb6也支持下呢  我的强迫症犯了,mfc、delphi都测试通过,唯独vb6不行啊。。

1

主题

1

听众

1302

积分

中级程序员

Rank: 3

擂点
0
人气
1
威望
5
注册时间
2013-6-21
精华
0
帖子
81
发表于 2016-12-29 12:22:31 |显示全部楼层
如果是来考我们,那就算了。最近项目缠身,没兴趣研究这个。如果是你的项目需要,必须解决这个问题,倒是可以考虑抽时间给你解决一下。
回复

使用道具 举报

19

主题

3

听众

1万

积分

网络程序员

Rank: 6Rank: 6

擂点
0
人气
56
威望
138
注册时间
2011-2-1
精华
0
帖子
138
发表于 2016-12-29 17:01:27 |显示全部楼层
  1. Public Declare Function ChangeWindowMessageFilter Lib "user32" (ByVal Message As Long, ByVal dwFlag As Long) As Long

  2. Public Const MSGFLT_ADD As Long = 1

  3. Public Const WM_DROPFILES = &H233
  4. Public Const WM_COPYGLOBALDATA = &H49

  5. ChangeWindowMessageFilter WM_DROPFILES, MSGFLT_ADD
  6. ChangeWindowMessageFilter WM_COPYGLOBALDATA, MSGFLT_ADD
复制代码
需要实现拖放的控件OLEDropMode设置为0,通过DragAcceptFiles定义拖放容器,再子类化控件处理WM_DROPFILES消息即可。
回复

使用道具 举报

21

主题

8

听众

9012

积分

网络程序员

Rank: 6Rank: 6

擂点
0
人气
31
威望
62
注册时间
2009-1-25
精华
0
帖子
570
发表于 2016-12-30 00:07:33 |显示全部楼层
原来自己声明API写错了 dwFlag漏了一个byval 导致一直不行。。。粗心啊 唉
回复

使用道具 举报

21

主题

8

听众

9012

积分

网络程序员

Rank: 6Rank: 6

擂点
0
人气
31
威望
62
注册时间
2009-1-25
精华
0
帖子
570
发表于 2016-12-30 00:25:19 |显示全部楼层
a591258275 发表于 2016-12-29 17:01
需要实现拖放的控件OLEDropMode设置为0,通过DragAcceptFiles定义拖放容器,再子类化控件处理WM_DROPFILES消 ...

非常感谢这位兄弟,测试了N次 原来是自己API声明 漏打了byval的 一直觉得打了 唉
回复

使用道具 举报

2

主题

0

听众

340

积分

中级程序员

Rank: 3

擂点
0
人气
0
威望
0
注册时间
2007-4-5
精华
0
帖子
23
发表于 2016-12-30 14:41:40 |显示全部楼层
vb 自带的就可以好吧


我一直在用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

文字版|手机版|VBGood

GMT+8, 2017-3-28 16:09

VB爱好者乐园(VBGood)
回顶部