画图程序窗口刷新了画线段的问题
vc++ 2005入门经典 中文版。
15章好几个问题。
第一个是换了VIEW基类结果OnContextMenu没消息映射,试了好久发现的。
第二个是OnMouseMove里
if(pOldSelection!=0)
{
aRect=pOldSelection->GetBoundRect();
aDC.LPtoDP(aRect);
aRect.NormalizeRect();
InvalidateRect(aRect,FALSE);
}
if(m_pSelected!=0)
{
aRect=m_pSelected->GetBoundRect();
aDC.LPtoDP(aRect);
aRect.NormalizeRect();
InvalidateRect(aRect,FALSE);
}
(两个条件里的InvalidateRect都没触发窗口刷新。怎么办啊。)
发现给问题,根本就没进入这两个InvalidateRect
解决了,第一个问题是忘了把OnMouseMove里前面的设置m_pSelected的值删除了,第二个问题是在画曲线前aDC.SetROP2(R2_NOTXORPEN);调用引起的。希望对其他人有帮助。
还有就是改了后画线段的过程中线段是一段一段的,移动中明暗交替变化还会闪。
有知道怎么解决的帮下谢谢了.