小弟照书编了一个控件,就是一个椭圆,在其中加了一个BackColor属性
编译已经通过,可在ActiveX Control Text Container中测试时,在control菜单中的Invoke method中改变颜色不好用,怎么该都还是原来的颜色,请问各位大侠这是怎么一回事啊?

解决方案 »

  1.   

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