做一个ActiveX控件,希望实现这样的功能,在类似于Word中插入多个控件,对每个控件操作后,可以将这些操作的数据保存下来。但这如何实现呢?如何将多个控件的实例与保存的数据对应起来,单独将某个控件的数据保存到本地文件是可以解决,但如何解决这种多个实例的情况呢?如果控件实例本身就能记录数据当然也成,但怎么实现呢?谢谢!

解决方案 »

  1.   

    我查了一下,可以通过IPersist接口以属性方式实现数据保存。但在控件下次被打开时,不同位置的控件,怎么知道要从什么位置装载上次保存的数据呢?另外序列化有些不太明白,我先查查资料。谢谢!
      

  2.   

    简单的可以将这些数据保存在注册表中初始化时在读入数据就行了象BCG就是这样作的
      

  3.   

    按照书上将应该是IPersist来实现
    但是可以确定序列化肯定可以做。
    序列化本质上是写文件。
    下次打开读文件就可以了(序列化)
      

  4.   

    而且我觉得,序列化的工作应该是由使用ActiveX的程序来做。
      

  5.   

    没错,我也觉得序列化是由ActiveX程序来做,这个没有问题。但我不清楚的是,比如在某台计算机,存在多个控件实例,控件实例将数据以某种方式进行了保存。但当下一次控件实例被打开时,那个控件实例怎么知道到什么地方去得到上次保存的数据呢?不知道有没有表达清楚,谢谢各位支持!
      

  6.   

    if you use ATL develop ActiveX ,you base class must be devied from IPersist