如何实现从一个ClistCtrl(类型是ICON的),拖拽多个ICON到另一个Clistctrl?
相关推荐
CListCtrl控件实现Item项拖拽效果
实现CListCtrl控件的Item项拖拽效果,本源码对应的博客链接为:http://blog.csdn.net/d704791892/article/details/22600075
ClistCtrl控件实现icon和report两种带图标的列表显示模式
关于MFC中ClistCtrl控件的使用,带图标的列表显示,有icon和report两种模式的例子
CListCtrl实现icon显示示例
很简单明了的一个小例子,看完就能明白如何使用CListCtrl完成icon显示。
CListCtrl 拖拽功能移动选中行的位置
CDragListCtrl继承CListCtrl类,CDragListCtrl实现拖动时绘制该行的内容浮动在鼠标移动的位置。CDragList主要用于计算当前鼠标移动到那一行上。 使用CDragListCtrl的对话框添加 afx_msg LRESULT DragMoveItem(WPARAM wParam, LPARAM lParam); ON_MESSAGE(WM_MOVEITEM, DragMoveItem) LRESULT DialUploadLoopTask::DragMoveItem(WPARAM wParam, LPARAM lParam) { int iSelectItem = wParam; int iChangeItem = lParam; if (iSelectItem == -1 || iChangeItem == -1) { return 0; } CString strTaskName = m_CListCtrlTask.GetItemText(iSelectItem, 0); CString strTaskID = m_CListCtrlTask.GetItemText(iSelectItem, 1); CString strTaskSynStatus = m_CListCtrlTask.GetItemText(iSelectItem, 2); if (iSelectItem < iChangeItem) { for (int i = iSelectItem; i iChangeItem; i--) { if (i-1 == iChangeItem) { m_CListCtrlTask.SetItemText(i, 0, strTaskName); m_CListCtrlTask.SetItemText(i, 1, strTaskID); m_CListCtrlTask.SetItemText(i, 2, strTaskSynStatus); } else { m_CListCtrlTask.SetItemText(i, 0, m_CListCtrlTask.GetItemText(i - 1, 0)); m_CListCtrlTask.SetItemText(i, 1, m_CListCtrlTask.GetItemText(i - 1, 1)); m_CListCtrlTask.SetItemText(i, 2, m_CListCtrlTask.GetItemText(i - 1, 2)); } } } return 0; }
CListCtrl重绘、支持拖拽功能
完美支持单个以及多个item的拖放功能。而且添加了拖动轨迹!


