我在我的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));
//.....
}
但我发现包装类没有办法让我更改控件的属性,所以如果我想以编程方式更改控件的属性,我该怎么办?我可以通过包装类来实现吗?或者它可以以编程方式完成吗?或者它只能通过对话框编辑器完成?谢谢。
答案 0 :(得分:0)
是的,如果您通过类向导创建函数,则包装器仅包含函数。
要更改属性(即变量),可以在窗体或对话框中实例化ActiveX,并且可以在属性窗口中修改属性值。
如果您想在运行中执行此操作,可以右键单击activeX对象,然后单击添加变量。您将看到它还将为该对象创建包装类。此类将自动包含activex的getter和setter,在新生成的头文件中可见。 如果您已经为activex创建了一个包装类,它可能无效,请在新项目中尝试。然后,您可以将生成的.cpp和.h文件复制到您自己的项目中。