我需要在一个dialog的程序中画一块矩形,并通过鼠标单击事件在矩形中画一些图标。
我在OnPaint中画矩形,并通过OnLButtonDown画图标。
现在的问题是当这个窗口被别的程序遮挡后如何重画呢?我一重画就只画了矩形,而小图标都没了。而且有时候矩形还画不全,怎么办?

解决方案 »

  1.   

    你 所有的 画图动作 都应该放到onpaint里 去完成
     这是 系统自身调用的!
      

  2.   

    所有绘画动作都在wm_paint中进行
      

  3.   

    重画裁剪区用内存DC先画然后再用DC画
      

  4.   

    to:E17(守护星) & kingcom_xu(杀不了人的刀,郁闷!) 
    就是说我鼠标单击后画图应该在onpaint()中吗?不太明白。如果采用一个数组或链表记录鼠标每次单击的位置,然后在onpaint()中读这个数组重新显示,实现上是不是过于复杂了呢?还有要是鼠标单击次数多的话多占资源亚?to:maoxianwang(大大㊣BETAⅡ我想赶快结婚那样就可以) 
    你说的和他们是一个意思吗?若不是,怎么用内存DC画呢?