MFC-ActiveX不会自动刷新/重新绘制

时间:2013-04-15 06:12:09

标签: events mfc activex ocx

我有一个基于MFC的ActiveX控件,其中一些重要的东西不起作用。只有当我单击控件的边框(在ActiveX测试容器中)时,才会调用size-event并重新绘制控件内容。

这是头文件中size-event的代码:

public:
    afx_msg void OnPaint();

...并在源文件中:

BEGIN_MESSAGE_MAP(CBeamConstruXCtrl, COleControl)
    ON_WM_SIZE()
    ON_WM_PAINT()
    ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties)
END_MESSAGE_MAP()

void MyCtrl::OnPaint()
{
   //this is never called also when I change the size of the control in test container
}

这里缺少什么想法?

编辑:只是澄清:OnSize()在OCX的初始化阶段被调用一次,但从来没有改变控件的大小。

1 个答案:

答案 0 :(得分:0)

如Roger Rowland所述:OnDraw()可以解决问题。