佚名通过本文主要向大家介绍了vc invalidate,vc invalidaterect,invalidate,session.invalidate,invalidaterect等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: VC下作ActiveX控件,内部调用Invalidate 为什么不刷新?
描述:
描述:
我在vc6中作一个简单的控件,OnDraw函数中内容如下:
void CActiceXTestCtrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
static int i=0,j=0;
i++;
i=i%2;
if(i==0)
{
pdc->MoveTo(10,10);
pdc->LineTo(10,100);
}
else
{
pdc->MoveTo(100,10);
pdc->LineTo(100,100);
}
}
就是画一条线,但是每次画的位置不同
然后在鼠标双击事件中调用函数 Invalidate(); 从而使控件重画----我的意图是改变一条线的位置,但实际上
是出现两条线,也就是说,控件本身没有刷新。虽然调用父然后刷新整个窗口可以解决问题,但是这样对
我来说不能达到要求,我想要的效果是----控件自己刷新自己。
请问哪位能帮我解决这个问题? 不胜感激。