使用一个CEdit输出一些简单图形,但在某些情况,需要隐藏此控件(ShowWindow(SW_HIDE)。在点击按钮时,需要重新显示此Edit控件(ShowWindow(SW_SHOW)),然后重绘控件中的图形,但图形在绘制完成后,会被覆盖掉(或者是擦掉)。绘制和显示控件的次序无论谁先谁后,都不行。请问如何解决这个问题?如果用两个按钮,一个调用ShowWindow,另一个绘制图形;顺次调用,则没有问题。(不过这个显然不能解决问题)多谢各位。

解决方案 »

  1.   

    这个显示图形当然得在CEdit的DrawItem中完成了。
      

  2.   

    这个显示图形当然得在CEdit的DrawItem中完成了。----------------------------------------------那是不是我得做一个自己得CEdit?在dialog中添加了WM_DRAWITEM消息后,对应的OnDrawItem始终没有被调用。是不是设置有什么问题?
      

  3.   

    派生应该CEdit类,在它的DrawItem中画
      

  4.   

    最基本的一点, 根本就不该用 CEdit 来装载图形 , 用 CStatic 不是很好吗?
      

  5.   

    坚持支持从CStatic继承自己的类来画图形。
      

  6.   

    我派生了CEdit和CStatic,并且在其OnPaint中绘制图形,都可以达到目的。但OnDrawItem都没有调用到,因此无法实现。不知道是不是我的写法有问题。CPicture是smileconfess() 大侠自己写的?