【问题标题】:How to change ActiveX control's property programmatically with MFC?如何使用 MFC 以编程方式更改 ActiveX 控件的属性?
【发布时间】:2011-11-30 02:00:30
【问题描述】:

我在我的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));
  //.....
}

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

【问题讨论】:

  • 您要更改什么属性?
  • 任何自定义或库存属性,例如,如果 Calendar 控件提供了一个“redSunday”属性,它可能导致星期日显示为红色,我想实用地打开和关闭此属性。跨度>

标签: mfc activex properties


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多