)为了保存列顺序,我正在考虑使用CSettingsStore
类来保存和恢复注册表中的整数数组(我将使用CListCtrl::GetColumnOrderArray()
和CListCtrl::SetColumnOrderArray()
来生成数组并设置)。但我不知道这是否是现实可能的,或者使用哪种注册表数据类型(DWORD
?将int
填充到字符串数组中并使用多字符串?)。此外,CSettingsStore
需要串路径开拓键,而GetAppRegistryKey()
返回HKEY
,所以我不知道如何使用,甚至CSettingsStore
与我的应用程序。将列宽和顺序信息保存到注册表中(
我有3个问题。
- 此方法对于加载和保存列信息是否可行?还是有一个明显更简单的解决方案?
- 我应该使用什么数据类型将列顺序数组存储在注册表中?
- 如何将
HKEY
值转换为CString
?或者,我应该查找我的应用程序的注册表项并对其进行硬编码?
我用你的答案进行了小小的调整,谢谢!我现在遇到的问题是我在'HDN_ENDDRAG'通知中调用'GetColumnOrderArray()',但显然列表顺序尚未在此时更新;它总是返回拖放操作之前的顺序。任何想法,当我应该得到列顺序? – aguazales
我添加了一个[SO帖子](http://stackoverflow.com/questions/18383093/get-column-order-mfc)关于获取列顺序:我有麻烦:/ – aguazales