用Vc编写ActiveX控件的时候,添加一个BackColor的Stock属性后,编译注册都没有问题。但是当我使用测试程序的时候,发现控件属性的backColor栏不能进行属性修改,不知道何故?请指教,我都困扰好几天了,但我从一本书的例子上发现却没有问题。

解决方案 »

  1.   

    我发现凡是要弹出对话框的属性就不能修改,如Font,backcolor等,但Caption却可以。
      

  2.   

    我不知道你的属性怎么加的,Font和backcolor这些系统自带的属性页你要添加了才能用的!
    MFC 提供了三个与 ActiveX 控件一起使用的常用属性页:CLSID_CColorPropPage、CLSID_CFontPropPage 和 CLSID_CPicturePropPage。这些页分别显示常用颜色、字体和图片属性的用户界面。若要将这些属性页合并到控件中,请将它们的 ID 添加到初始化控件的属性页 ID 数组的代码。在下例中,代码(位于控件实现 (.CPP) 文件中)初始化该数组,以包含所有三个常用属性页和默认属性页:BEGIN_PROPPAGEIDS( CSampleCtrl, 4 )
        PROPPAGEID( CMyPropPage::guid )
        PROPPAGEID( CLSID_CFontPropPage )
        PROPPAGEID( CLSID_CColorPropPage )
        PROPPAGEID( CLSID_CPicturePropPage )
    END_PROPPAGEIDS(CSampleCtrl)
    请注意,BEGIN_PROPPAGEIDS 宏中的属性页数为 4。它表示 ActiveX 控件支持的属性页数。完成这些修改后,重新生成项目。现在控件具有字体、图片和颜色属性的属性页。
      

  3.   

    谢谢 wangweixing2000(星) 兄,按照你的说法,我改过来了!