视图编程遇到的怪事
我编了一个绘图程序,其中有一个橡皮线的操作。
开始的时候我是这样写的:
CLine* pTempLine1=new CLine(m_begin,prePos);
pTempLine1->Draw(pDC,dmDrag);
delete pTempLine1;
CLine* pTempLine2=new CLine(m_begin,curPos);
pTempLine2->Draw(pDC,dmDrag);
delete pTempLine2;
但是一旦遇到视图刷新就玩不转了,又改为:
if(!g_bRefresh)
{
CLine* pTempLine1=new CLine(m_begin,prePos);
pTempLine1->Draw(pDC,dmDrag);
delete pTempLine1;
}
CLine* pTempLine2=new CLine(m_begin,curPos);
pTempLine2->Draw(pDC,dmDrag);
delete pTempLine2;
g_bRefresh在MouseMove完后付为false;
在OnDraw中伏为true;
这时出现了不可思仪的一幕,我的鼠标不动一端时间,橡皮线就会消失,请问是为什么?