菜鸟求助,关于非模态对话框的串行化

z24324 2012-05-21 11:10:12
本人要用MFC做一个控制界面。下位的各种设备以非模态对话框形式动态生成于文件类中,然后在视类中显示。现在问题是等到我在应用程序执行时,生成了需要的配置的时候,如何保存这个界面。对于文件类中动态生成的非模态对话框如何保存。是保存对话框对象里的数据,load的时候重新NEW一个对话框,还是有其他办法直接保存下这些对话框?
...全文
104 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
搬砖的奶霸 2012-05-21
  • 打赏
  • 举报
回复
不用吧 直接保存成员变量;
再次开启的时候 重写下 creat()在后面加载变量值;
控件在你create时候就会自动生成的,你加载对话框成员变量的值 就OK了
z24324 2012-05-21
  • 打赏
  • 举报
回复
所以我是大菜鸟啦。那些个控件怎么序列化呢?在自定义的dialog里Serialize吗(若是此项用哪个函数)?还是在Document用WriteObject?
你能把工作机制说说嘛?
快乐鹦鹉 2012-05-21
  • 打赏
  • 举报
回复
这个问题更歧途了......
对话框上的对象都是控件,你序列化这些控件......
z24324 2012-05-21
  • 打赏
  • 举报
回复
简单点,就是标题。怎样串行化非模态对话框对象?
快乐鹦鹉 2012-05-21
  • 打赏
  • 举报
回复
不知道说什么,有点语无伦次
dahaiI0 2012-05-21
  • 打赏
  • 举报
回复
是不是这个意思:比如本次打开了5个对话框,每个对话框上都有数据,然后“串行化”,下次打开程序直接就显示上次打开的5个对话框,并且数据也跟上次一样?
这个首先你要在程序里保存这些打开的对话框的指针,开始序列化时,遍历每个指针,序列化其数据成员,每个窗口为1组数据,下次打开时读文件反序列化,对读出的每组数据分别创建对话框,给数据成员赋值。
schlafenhamster 2012-05-21
  • 打赏
  • 举报
回复
保存"动态生成的对话框",指对话框的外貌?可以截图保存为bmp文件。
z24324 2012-05-21
  • 打赏
  • 举报
回复
菜鸟真悲哀啊。我只是想保存我动态生成的对话框而已。是保存对话框对象本身(用什么函数)?还是保存对话框的配置,打开时重新NEW。
schlafenhamster 2012-05-21
  • 打赏
  • 举报
回复
你是要保存对话框上控件的位置吧?
liuli7786 2012-05-21
  • 打赏
  • 举报
回复
可以新建一个继承自CObject的类,在里面重写virtual void Serialize(CArchive& ar)函数,对对话框里的数据进行序列化
z24324 2012-05-21
  • 打赏
  • 举报
回复
回5楼:我的非模态对话框是动态生成的,菜单栏命令Command命令下生成,可以生成很多个,位置也是动态的,用鼠标定位。
按照你的说法的话,我保存的只是变量值。重新打开文档的时候,我是不是还要重新NEW那么的对话框出来,再配置他们的变量。
回6楼:我的对话框对象都是在DOC中动态生成的,DOC类补货Command消息,然后就NEW一个对话框。我现在就是想把NEW出来的对话框都保存好,不晓得怎么弄。
Eleven 2012-05-21
  • 打赏
  • 举报
回复
最好是将数据保存在doc类的成员变量中。

15,978

社区成员

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

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