我有一个基于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的初始化阶段被调用一次,但从来没有改变控件的大小。
答案 0 :(得分:0)
如Roger Rowland所述:OnDraw()可以解决问题。