资源简介
实现CListCtrl控件的Item项拖拽效果,本源码对应的博客链接为:http://blog.csdn.net/d704791892/article/details/22600075

代码片段和文件信息
// DragListCtrl.cpp : 实现文件
//
#include “stdafx.h“
#include “DragListCtrlDemo.h“
#include “DragListCtrl.h“
// CDragListCtrl
IMPLEMENT_DYNAMIC(CDragListCtrl CListCtrl)
CDragListCtrl::CDragListCtrl()
: m_nSelItem(-1)
m_bDragging(FALSE)
m_pDragImageList(NULL)
{
}
CDragListCtrl::~CDragListCtrl()
{
if (m_pDragImageList)
{
delete m_pDragImageList;
m_pDragImageList = NULL;
}
}
BEGIN_MESSAGE_MAP(CDragListCtrl CListCtrl)
ON_NOTIFY_REFLECT(LVN_BEGINDRAG &CDragListCtrl::OnLvnBegindrag)
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
END_MESSAGE_MAP()
// CDragListCtrl 消息处理程序
void CDragListCtrl::OnLvnBegindrag(NMHDR *pNMHDR LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
int count = GetSelectedCount();
if (1 != count)
return;
POSITION pos = GetFirstSelectedItemPosition();
if (NULL == pos)
return;
m_nSelItem = GetNextSelectedItem(pos);
if (-1 == m_nSelItem)
return;
CPoint pt = pNMLV->ptAction;
m_pDragImageList = CreateDragImage(m_nSelItem &pt);
if (NULL == m_pDragImageList)
return;
m_bDragging = TRUE;
m_pDragImageList->BeginDrag(0 CPoint(8 8));
ClientToScreen(&pt);
CRect rt;
GetParent()->GetWindowRect(&rt);
pt.x -= rt.left;
pt.y -= rt.top;
m_pDragImageList->DragEnter(GetParent() pt);
SetCapture();
}
void CDragListCtrl::OnLButtonUp(UINT nFlags CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (m_bDragging)
{
ReleaseCapture();
m_bDragging = FALSE;
//m_nSelItem = -1;
m_pDragImageList->DragLeave(GetParent());
m_pDragImageList->EndDrag();
m_pDragImageList->DeleteImageList();
delete m_pDragImageList;
m_pDragImageList = NULL;
}
CListCtrl::OnLButtonUp(nFlags point);
}
void CDragListCtrl::onmousemove(UINT nFlags CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (m_bDragging)
{
CPoint pt = point;
ClientToScreen(&pt);
CRect rt;
GetParent()->GetWindowRect(&rt);
pt.x -= rt.left;
pt.y -= rt.top;
m_pDragImageList->DragMove(pt);
}
CListCtrl::onmousemove(nFlags point);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2226 2014-03-30 18:58 DragListCtrlDemo\DragListCtrlDemo\DragListCtrl.cpp
文件 534 2014-03-30 19:18 DragListCtrlDemo\DragListCtrlDemo\DragListCtrl.h
文件 105232 2014-03-30 16:23 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemo.aps
文件 1783 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemo.cpp
文件 505 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemo.h
文件 5318 2014-03-30 16:23 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemo.rc
文件 5706 2014-03-30 15:29 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemo.vcproj
文件 3965 2014-03-30 17:41 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemoDlg.cpp
文件 827 2014-03-30 16:32 DragListCtrlDemo\DragListCtrlDemo\DragListCtrlDemoDlg.h
文件 3031 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\ReadMe.txt
文件 67777 2007-11-28 16:21 DragListCtrlDemo\DragListCtrlDemo\res\DragListCtrlDemo.ico
文件 372 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\res\DragListCtrlDemo.rc2
文件 734 2014-03-30 16:23 DragListCtrlDemo\DragListCtrlDemo\resource.h
文件 149 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\stdafx.cpp
文件 1854 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\stdafx.h
文件 1030 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo\targetver.h
文件 914 2014-03-30 15:21 DragListCtrlDemo\DragListCtrlDemo.sln
..A..H. 13824 2014-03-30 19:21 DragListCtrlDemo\DragListCtrlDemo.suo
目录 0 2014-03-30 19:18 DragListCtrlDemo\DragListCtrlDemo\res
目录 0 2014-03-30 19:22 DragListCtrlDemo\DragListCtrlDemo
目录 0 2014-03-30 19:21 DragListCtrlDemo
----------- --------- ---------- ----- ----
215781 21
- 上一篇:NISP一级题库100T
- 下一篇:51单片机8位数码管动态扫描显示
相关资源
- 基于MFC扩展CListCtrl子项显示图片并叠
- 黑白棋(带简单AI)
- MFC程序-碰撞的小球
-
Cme
taFileDC的使用示例 - ado数据库MFC图书管理系统vs2010
- mfc单文档窗体画线与写字
- [免费]MFC制作目录树
- MFC读三维模型obj文件
- 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 程序判断离散数学中命题公式
- MFC控件动态拖动
- MFC中OpenGL面和体的绘制以及动画效果
- c MFC 画多边形
- RSA AES DES ECC加密算法源码
- 可编辑的CListctrl 支持CEDIT文本框,C
- Microsoft基本类库 (MFC)(C 库)
- vc利用MFC底层开发的二维GIS管理软件,
- (MFC) 时钟日期程序
- 一个基于MFC的GridCtrl,提供类似Excel的
- 用MFC实现简单的画图功能
- MFC绘图小软件源代码(可当VC大作业用
- 基于MFC的文件目录树的对话框实现代
- CListCtrlExDemo.rar
- VC 6.0 MFC做画图软件
- 空间后方交会MFC版,C 源代码
- 图像缩放(MFC)有详细的实现过程
- 一个mfc前端显示秒表
- 基于C 的简易FTP客户端(带源码)
- C (MFC)华容道自动求解
评论
共有 条评论