如何更改ActiveX控件';使用MFC以编程方式创建属性?

如何更改ActiveX控件';使用MFC以编程方式创建属性?,mfc,activex,properties,Mfc,Activex,Properties,我在MFC项目中添加了一个activex控件,我没有使用对话框编辑器添加控件,我只是使用MFC为控件生成一个包装类,并调用包装类中的“create”成员以编程方式创建控件,代码大致如下: class CMyView { CCalendar m_ctl; //other members..... } int CMyView::OnCreate { m_ctl.create("",WS_CHILD|WS_VISIBLE,this,CRect(50,50,100,100)); //.....

我在MFC项目中添加了一个activex控件,我没有使用对话框编辑器添加控件,我只是使用MFC为控件生成一个包装类,并调用包装类中的“create”成员以编程方式创建控件,代码大致如下:

class CMyView
{

CCalendar m_ctl;
//other members.....
}
int CMyView::OnCreate
{
  m_ctl.create("",WS_CHILD|WS_VISIBLE,this,CRect(50,50,100,100));
  //.....
}

但是我发现包装器类无法为我提供更改控件属性的方法,因此如果我想以编程方式更改控件的属性,我应该怎么做?我可以通过包装器类实现这一点吗?或者完全可以通过编程来完成?还是只能通过对话框编辑器完成?谢谢。

是的,如果您通过类向导创建,包装器只包含函数

要更改属性(即变量),可以在窗体或对话框中实例化ActiveX,并且可以在“属性”窗口中修改属性值

如果要在运行时执行此操作,可以右键单击activeX对象,然后单击添加变量。您将看到,它还将为对象创建包装器类。此类将自动包含activex的getter和setter,在新生成的头文件中可见。
如果您已经为activex创建了一个包装类,那么它可能无法工作,请在新项目中尝试。然后,您可以将生成的.cpp和.h文件复制到您自己的项目中。

您想更改什么属性?任何自定义或库存属性,例如,如果日历控件提供的“redSunday”属性会导致星期天显示为红色,我想实际地打开和关闭此属性。可能重复