VC下作ActiveX控件,内部调用Invalidate() 为什么不刷新?

    技术2022-05-11  59

    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(); 从而使控件重画----我的意图是改变一条线的位置,但实际上是出现两条线,也就是说,控件本身没有刷新。虽然调用父然后刷新整个窗口可以解决问题,但是这样对我来说不能达到要求,我想要的效果是----控件自己刷新自己。请问哪位能帮我解决这个问题? 不胜感激。


    最新回复(0)