A Drag and Drop List Control
发表于:2007-07-01来源:作者:点击数:
标签:
这篇文章包含一个demo project,一个继承于CListCtrl的类和一个快速查看这个类功能的release。我不想让这个类十全十美,但对于我当前的项目来讲,它的功能已经足够了。当然了,它还有更进一步完善的地方,欢迎指正! 左图是程序演示的示例图片。 类CDragDrop
|
这篇文章包含一个demo project,一个继承于CListCtrl的类和一个快速查看这个类功能的release。我不想让这个类十全十美,但对于我当前的项目来讲,它的功能已经足够了。当然了,它还有更进一步完善的地方,欢迎指正!
左图是程序演示的示例图片。
类CDragDropListCtrl具有以下的功能和特性:
1、支持单选和复选的任意托拽
2、所选择的托拽目标跟随这鼠标突现式的移动
3、当把目标托出上下边界的时候,List Control会自动滚动
4、以LVS_EX_FULLROWSELECT风格的开关方式运行、
5、保存所托拽目标的状态
6、所有的代码都封装在control当中-无需修改父类
本类源自Wayne Berthin以前写过的一篇文章,但我重写了大部分代码,并且又增加了很多。CreateDragImageEx 方法跟Frank Kobs所给
出的大致相同,但修复了一个小的bug以便于程序能更好的运行。
要使用这个类,首先要把DragDropListCtrl.cpp和DragDropListCtrl.h两个文件添加到你的工程当中,然后在你的对话框资源中增加一个
List Control,并设置View方式为Report,用ClassWizard为这个List Control添加一个变量,变量的类别为Control,变量类型为
CDragDropListCtrl,最后,把下面一行加到你的对话框头文件的顶部:
#include "DragDropListCtrl.h"
这样就大功告成了! |
原文转自:http://www.ltesting.net