关于如何动态调整ActiveX控件的大小问题,内有详细问题描述
我创建了一个MFC ActiveX控件Player,并为它添加了一个属性CtrWidth,代表控件的宽度,并在该属性发生变化的函数内写下如下改变大小的代码
void CTestPlayCtrl::OnCtrWidthChanged(void)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// TODO: 在此添加属性处理程序代码
SetControlSize(m_CtrWidth, 288);
CRect rect;
GetClientRect(&rect);
InvalidateControl(&rect, true);
SetModifiedFlag();
}
然后编译运行,在tstcon32.exe测试容器中,插入控件后,控件运行正常
当我点击“控件菜单”,找到“调用方法”,在弹出的对话框中找到CtrWidth属性的输入方法,设置300,然后点击调用按钮后,控件大小改变,但是里面绘制的椭圆只有控件刚开始运行的那一部分区域绘制,其他的区域全部被阴影斜线所遮挡
不知道该怎么实现才能在设置好值之后,控件改变大小后,椭圆正常显示