|
A Drag and Drop List Control
| 【字体:大
中 小】
|
整理日期:2006-2-18 0:00:00
|
【打印本文】
【收藏此文】 |
程序运行效果截图:  | 这篇文章包含一个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" 这样就大功告成了! |
|
|
|
|
|