基于对话框的程序,对话框中有个Edit类型的控件,在程序第一次执行时,
我想记录这个值,以后程序再次启动时,希望这个值能显示在控件里。
请大家说说访怎么做???

解决方案 »

  1.   

    应该没那么麻烦吧。
    要保存那个数据,除了重载serialize函数,还要做什么?
      

  2.   


    对话框加上declare_serialize就可以用了,为什么不推荐用。
    如果不用序列化,那用文件来保存数据???
      

  3.   

    如果你只是在应用程序运行时保存数据,用全局/静态变量,或设计环境类存储数据,
    从抽象角度看, 设计环境类是有好处的, 另外, 如果你想让数据持久化, 写到注册表或文本文件也可以.不错, CDialog的基类是COject, 只要实现CObject::Serialize就可以, 序列化的过程是对象持久化存储/读取文件的过程.
    还要加上版本, scheme等信息.从设计模式来看, CDialog是属于UI范畴, 数据持久性通常在CArray数据结构类对象中体现.
      

  4.   

    CFile file;
    file.Open(...)
    file.wirte("edit内容长度",sizeof(int));
    file.wirte("edit内容",edit内容长度);
    file.close();在OnInitDialog()
    int len;
    CFile file;
    file.Open(...)
    file.read(&len,sizeof(int));
    char *buf=new char[len+1];
    file.read(buf,len);
    buf[len]='\0';
    file.close();设置edit内容delete []buf;
      

  5.   


    你可能想的复杂了把。lz的需求貌似想在cedit中初始化一个值.貌似你给cedit设置一个变量.在cdialog的构造函数中初始化一下。比如m_edit=10;
      

  6.   

    我用文件试了,能用。serialize不是很明白,注册表还在学习中。结贴。