如何使用MFC以编程方式更改ActiveX控件的属性?

时间:2011-11-30 02:00:30

标签: 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));
  //.....
}

但我发现包装类没有办法让我更改控件的属性,所以如果我想以编程方式更改控件的属性,我该怎么办?我可以通过包装类来实现吗?或者它可以以编程方式完成吗?或者它只能通过对话框编辑器完成?谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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