社区
C++ Builder
帖子详情
如何在ListView中实现拖动?并且如何保存它们的位置?
xlhome
2001-04-16 09:36:00
各个高手:
在LISTVIEW组件中,已经把viewstyle属性设为VSICON,dragmode属性设为自动,还需要
什么条件才能实现它的Items的任意拖动,并且如何保存它们的位置?
...全文
93
4
打赏
收藏
如何在ListView中实现拖动?并且如何保存它们的位置?
各个高手: 在LISTVIEW组件中,已经把viewstyle属性设为VSICON,dragmode属性设为自动,还需要 什么条件才能实现它的Items的任意拖动,并且如何保存它们的位置?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dufeng3104
2001-04-17
打赏
举报
回复
有点错误
void __fastcall TFrm_set::FormCreate(TObject *Sender)
{
SHFILEINFO FileInfo;
THandle ImageListHandle;
ImageListHandle=SHGetFileInfo("C:\\", 0,&FileInfo, sizeof(FileInfo),SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
SendMessage(ListView1->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,ImageListHandle);*****
DragAcceptFiles(Handle, true);
}
dufeng3104
2001-04-17
打赏
举报
回复
此代码是用C++ Builder实现的,希望能够解决你的问题
public: // User declarations
__fastcall TFrm_set(TComponent* Owner);
//增加对WM_DROPFILES消息的处理,WMDropFiles是消息处理函数
void __fastcall WMDropFiles(TMessage &Msg);
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_DROPFILES, TMessage, WMDropFiles)
END_MESSAGE_MAP(TForm);
void __fastcall TFrm_set::FormCreate(TObject *Sender)
{
SHFILEINFO FileInfo;
THandle ImageListHandle;
ImageListHandle=SHGetFileInfo("C:\\", 0,&FileInfo, sizeof(FileInfo),SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
SendMessage(ListView4->Handle, LVM_SETIMAGELIST, LVSIL_SMALL,ImageListHandle);
DragAcceptFiles(Handle, true);
}
void __fastcall TFrm_set::WMDropFiles(TMessage &Msg)
{
//消息的WParam参数是拖放文件的句柄
HDROP hDrop = (HANDLE)Msg.WParam;
int FileNums;
char FileName[255];
SHFILEINFO FileInfo;
TListItem *pItem;
//DragQueryFile函数获得拖放文件的信息,当第二个参数为0xFFFFFFFF时,返回文件的数量
FileNums = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 255);
for(int i = 0; i < FileNums; i++)
{
//FileName返回第i个文件的文件名
DragQueryFile(hDrop, i, FileName, 255);
AnsiString ls_str,ls_Ext;
int j;
ls_str=FileName;
ls_str=ExtractFileName(FileName);
pItem=ListView1->Items->Add();
j=Read_PointPos(ls_str);//此函数为自定义的取文件名最后一个“.”的位置
if(j!=0)
{
AnsiString ls_filename;
ls_filename=ls_str.SubString(1,j-1);
pItem->Caption=ls_filename;
ls_filename=Drag_Pathname+ls_str;//Drag_Pathname为目标位置
CopyFile(FileName,ls_filename.c_str(),false);
SHGetFileInfo(FileName, 0, &FileInfo, sizeof(FileInfo),SHGFI_ICON|SHGFI_SMALLICON );
pItem->ImageIndex=FileInfo.iIcon;
ListView1->Refresh();
}
}
DragFinish(hDrop);
}
Wingsun
2001-04-17
打赏
举报
回复
你需要处理它的DragDrop的相关事件,这样才可以让他们移动你拖到的位置。可以将每一个Item的位置保存在一个文件中就可以了,下次取出就可了。
「已注销」
2001-04-16
打赏
举报
回复
图标放置有图标的位置 你记下
根据这个坐标
设置一下图标的位置就可以了
下拉刷新+拖拽调换
位置
ListView
拖拽调换
位置
(Drag-and-Drop)功能允许用户通过
拖动
ListView
中
的条目来改变它们的顺序。这种功能在需要用户调整列表顺序的应用场景
中
非常有用,如待办事项列表或者购物清单。 ####
实现
步骤 1. **设置触摸监听**:...
android
listView
图片异步加载(
拖动
时不加载,双缓存)
本文将详细介绍如何在
ListView
中
实现
图片的异步加载,并且在用户
拖动
时不加载,以提高滚动流畅性。 一、异步加载原理 异步加载是指在后台线程
中
执行耗时操作,例如网络请求或解码图片,避免阻塞主线程。Android提供...
TreeView,
ListView
控件
中
拖拉程序得演示
在Windows编程领域,TreeView和
ListView
控件是两个非常常见的组件,它们被广泛应用于各种桌面应用程序
中
,用于展示层级数据和列表数据。这个压缩包文件"DragDrop"很可能包含了一个示例程序,展示了如何在TreeView和...
ListView
中
的item随意
拖动
.zip
本压缩包文件包含了Android平台上
实现
ListView
中
的item随意
拖动
功能的源码文档。在Android开发
中
,
ListView
是一种常用的视图组件,用于展示一系列可滚动的数据。随着用户对交互体验要求的提高,能够对
ListView
中
的...
treeView和
ListView
应用
在IT领域,`TreeView`和`
ListView
`是两种常见的数据展示控件,广泛应用于Windows Forms、ASP.NET等开发环境
中
。本文将深入探讨这两种控件的使用、特点以及它们在C# ASP.NET项目
中
的具体应用。 首先,`TreeView`控件...
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章