从虚拟列表控件中检索项目数据的策略

问题描述 投票:0回答:0

我正在将一个大的遗留代码从普通的

CListCtrl
转换为虚拟列表控件。对于拖放,它需要来自当前选择的信息。由于正常的
CListCtrl
使用
GetItemData()
检索指针(
lParam
),我应该如何编写自己的
GetDataForItem()
也返回兼容的指针?

更具体地说,对于我的虚拟列表控件,假设我有一个现有列表

data1
和一个现有列表
data2
。要检索一个项目,我必须从他们那里获取并组合信息以生成我的
dataItem
。我应该如何管理内存以从我的
GetDataForItem()
函数返回指针?如果我返回一个智能指针,我必须在它调用
RetrieveData()
的地方创建另一个智能指针。为了进一步传递这个智能指针,我必须修改许多其他接口......或者,我是否应该仍然使用裸指针?

c++ winapi legacy-code
© www.soinside.com 2019 - 2024. All rights reserved.