我正在将一个大的遗留代码从普通的
CListCtrl
转换为虚拟列表控件。对于拖放,它需要来自当前选择的信息。由于正常的CListCtrl
使用GetItemData()
检索指针(lParam
),我应该如何编写自己的GetDataForItem()
也返回兼容的指针?
更具体地说,对于我的虚拟列表控件,假设我有一个现有列表
data1
和一个现有列表data2
。要检索一个项目,我必须从他们那里获取并组合信息以生成我的dataItem
。我应该如何管理内存以从我的 GetDataForItem()
函数返回指针?如果我返回一个智能指针,我必须在它调用 RetrieveData()
的地方创建另一个智能指针。为了进一步传递这个智能指针,我必须修改许多其他接口......或者,我是否应该仍然使用裸指针?