)爲了保存列順序,我正在考慮使用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