如何记忆使用LVS_EX_HEADERDRAGDROP扩展类型拖拽后的列表布局?急~~在线等~~~

chensc 2004-11-21 09:18:15
我使用Listctrl的扩展类型LVS_EX_HEADERDRAGDROP,实现了列表的整行拖拽,但每次关闭程序再开后,布局总是回到原来的样子。我想实现自动保存下上次拖拽后的布局~~~该怎么做啊?

在线等`~~~
...全文
357 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cylon 2004-11-23
  • 打赏
  • 举报
回复
重载clistctrl,在oncreate里面去加载保存的数据(如果有)SetColumnOrderArray ,然后在ondestroy里面使用GetColumnOrderArray,根据listctrl的id和父窗口的id生成唯一id保存在注册表里面,就是刚才oncreate读取的东西了,试一下
chensc 2004-11-23
  • 打赏
  • 举报
回复
用CHeaderCtrl::GetOrderArray 和CHeaderCtrl::SetOrderArray 返回是个BOOL 可以利用他里面的指向顺序的指针,但我用CFile::Read和CFile::Write 只能写入文件中一些奇怪的东西,但取不出来

还请高手赐教啊~~~~
chensc 2004-11-23
  • 打赏
  • 举报
回复
要用oncreate和ondestroy?好像跟他们没什么关系吧。。。。。我好菜的,能说具体点吗?
蒋晟 2004-11-22
  • 打赏
  • 举报
回复
不就是调用CHeaderCtrl::GetOrderArray么
try876 2004-11-22
  • 打赏
  • 举报
回复
应该就是要自已保存再自己读入
chensc 2004-11-21
  • 打赏
  • 举报
回复
怎么没人回帖啊?没人会吗?呼唤高手啊 ~~~分不是问题
chensc 2004-11-21
  • 打赏
  • 举报
回复
对,就是要实现象WIN的资源管理器一样的效果,现在只能做到拖动到指定位置,但没办法保存下来。下次一开又是原来的样子了,盼高手指点迷津啊~~~
coolstar14 2004-11-21
  • 打赏
  • 举报
回复
关注.
2000下的资源管理器等有列表方式的东东, 拖动后确实可以记住, 感觉这功能还是挺有用的.
具体怎么实现就不清楚了.
但, 列表控件是有设表头位置和宽度的函数的, 所以如果在退出时记住重新装入时再导出存出来的配置也是可以实现的,但感觉总是太复杂, 不知道微软有没有什么内置的东西不用我们设置就可以用的.要不, 他每个对话框都记一下列表的宽度等数据也有点累, 盼忘高手示教.
try876 2004-11-21
  • 打赏
  • 举报
回复
思路:
拖拽后保存信息,下次再开时读入信息,再恢复到原来的样子

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧