gpt4 book ai didi

c++ - 重新排列 ListView 项

转载 作者:行者123 更新时间:2023-11-30 03:09:54 25 4
gpt4 key购买 nike

假设我有一个包含多个项目的 ListView 控件。我如何允许用户拖放项目以在控件中重新排列它们。

listview控件为报 TableView ,全行选择扩展样式。

提前致谢。

最佳答案

在您的 ListView 的 WM_LBUTTONDOWN 处理程序中,将当前选定的项目索引存储在某处。

在您的 ListView 的 WM_LBUTTONUP 处理程序中,使用 ListView_HitTest() 确定光标下的项目。如果与存储的索引不同,则使用 ListView_DeleteItem()ListView_InsertItem() 将“拖动”的项目“移动”到新索引。

(可选)为了帮助用户查看项目被“拖”到哪里,在您的 ListView 的 WM_MOUSEMOVE 处理程序中,使用 ListView_HitTest() 来确定哪个项目是在光标下,然后使用 ListView_SetItemState() 为先前“突出显示”的项目(如果有)禁用/启用 LVIS_DROPHILITED 状态并“突出显示”当前项目。

关于c++ - 重新排列 ListView 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com