在void CCirc3PropPage::中使用DDP_XXX和DDX_XXX.

解决方案 »

  1.   

    gxh是用来设置默认属性的方法
    要将控件属性保存起来最好的办法就是将属性保存在注册表中,当控件实例化时将其取出,你也可以放在文件里,让一段编码具有永久保存功能只能借助可存储的介质,你说对吧?
      

  2.   

    是的,都没错,
    DDP_XXX和DDX_XXX.
    在属性页退出后再打开对话框就消失了,控件应该有实现永久存储的机制,我相信,如果每次程序员打开源程序都要修改控件属性是不可想象的啊,假定程序员用了一个EDIT控件,它把背景属性设为黑,每次都要到属性页修改一次吗。
      

  3.   

    Atl中是要从IPersist接口继承来实现的,mfc也应该差不多吧
      

  4.   

    I'm waitting for you ....
      

  5.   

    你是说在类似VB的属性页中的设置吗,若你将控件嵌入一个应用程序中并在设计时设定了控件属性,那么每次启动程序你的控件属性就是你设定后的值,不必担心它会变回初始值。因为容器已经将的设定固化在应用程序中了。所以,假定程序员用了一个EDIT控件,它把背景属性设为黑,每次都要到属性页修改一次。大可不必
      

  6.   

    有点不明白你的企图了
    我想你是想让你的控件具有默认的属性:
    在DoPropExchange函数中用PX_xxx(...)函数就可设置
    void CyouCtrl::DoPropExchange(CPropExchange* pPX)
    {
    ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
    COleControl::DoPropExchange(pPX); // TODO: Call PX_ functions for each persistent custom property.
    PX_String(pPX,"YourPropName",m_YourPropName,"value");
    }
    你要的是这效果吗?
      

  7.   

    Ok,谢谢fftongzhi(程序员也爱家) ;