C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-23 #1 使用"资源管理器"时我们可以注意到,拖动一个文件时,dragcursor是这个 文件名字+图标混合的一个图形,而且是半透明的, 拖动多个文件时就成了 这多个文件的图形, 请问怎样实现?
D delete Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-23 #3 其实这根本就不是cursor,而是由自己编程处理在ondragmove中实时的在当前 鼠标位置创建一个透明的label。 我也记不太清,不过以前有本<<VB5从入门到精通>>的书中有这样的例子。 我可以帮你再查查。
其实这根本就不是cursor,而是由自己编程处理在ondragmove中实时的在当前 鼠标位置创建一个透明的label。 我也记不太清,不过以前有本<<VB5从入门到精通>>的书中有这样的例子。 我可以帮你再查查。
M menxin Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-23 #4 只不过是listview的特性而已。当然可以编程实现,但没做过。 想自己做的话,需重载getdragimage虚拟方法,看一下listview的源码吧,不是太多。
M menxin Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-25 #6 cakk:你去看一下listview.paint方法,好象是在那里,因为没做过,所以不敢说,但看过源码,好象不是很难。有时间看一下吧。
H hblinux Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-27 #7 有一个叫dragdrop的控件组能解决诸位的燃眉之急。试一试。
G George Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #8 看看TImageList就明白了,但是要注意一点,注意在你用ImageList显示完光标后, 要调用ShowCursor来将真正的鼠标藏起来,否则屏幕上就会出现两个光标。
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #9 to George: 怎样用timagelist显示那个图形?
B barton Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #10 为什么不用DFS的ExtListView或EnhListView,你不用写任何代码。它还支持: 点击标题栏双向排序; 在每一个子项中显示图标; 以不同的颜色或字体显示每一个标题和子项; ....
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #11 to barton: 尽量还是少用3rd控件, 除非有特殊需要. 像你说的排序,显示子图标等功能,实现起来很简单,所以没有必要用别的控件. 不过像拖动图标这样的问题,也许可以考虑试用. 不过我还是想知道实现原理. 你说的这个控件哪里下载?
to barton: 尽量还是少用3rd控件, 除非有特殊需要. 像你说的排序,显示子图标等功能,实现起来很简单,所以没有必要用别的控件. 不过像拖动图标这样的问题,也许可以考虑试用. 不过我还是想知道实现原理. 你说的这个控件哪里下载?
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-08 #12 我找到实现方法了!今天在网上下在了一个控件,里面有我需要的功能,我看了看 代码,基本原理如下: 1.当开始drag时, 定义一个临时imagelist: tmpImageList := TImageList.Create(self); 2.用下面代码设置它为listview的Dragimage: with Listview1 do tmpImageList.handle := ListView_CreateDragImage(Handle,Selected.index,dummyPt); 3.需要显示图片时(即dragover时) ImageList_BeginDrag(tmpImageList.handle, ImageIndex, mousePos.X, mousePos.Y) 大概原理如此,这个控件可能就是hblinux说的那个. 其实还有更简单的, 将listview的DragMode设为dmAutomatic,一切搞定! 发饷吧!
我找到实现方法了!今天在网上下在了一个控件,里面有我需要的功能,我看了看 代码,基本原理如下: 1.当开始drag时, 定义一个临时imagelist: tmpImageList := TImageList.Create(self); 2.用下面代码设置它为listview的Dragimage: with Listview1 do tmpImageList.handle := ListView_CreateDragImage(Handle,Selected.index,dummyPt); 3.需要显示图片时(即dragover时) ImageList_BeginDrag(tmpImageList.handle, ImageIndex, mousePos.X, mousePos.Y) 大概原理如此,这个控件可能就是hblinux说的那个. 其实还有更简单的, 将listview的DragMode设为dmAutomatic,一切搞定! 发饷吧!
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-11-04 #13 我真糊涂! 这个问题是我自己提出来的,可笑我一直还在等着拿分!!!