问题描述
- 有关winform,将一个窗体最小化后再显示会重新绘画窗体吗?
-
小白,刚接触这方面。在用一个窗体时遇到的问题。我在这个窗体上画了几个形状,当我把窗体最小化后,再度点开,窗体就会重新初始化重新绘制,之前画的几个形状就没有了。这是winform的特性吗?又没有什么办法让窗体最小化后之前画的图依旧存在?
解决方案
参考这个帖子:http://bbs.csdn.net/topics/80143504
解决方案二:
吧绘画函数放到 override OnPaint 函数里,这样每次窗口需要重画的时候都会调用一次这个方法。
解决方案三:
窗口每次调出都会重画,需要把绘图函数放到override OnPaint函数,每次调出都会进行重画,任何绘画都一样
解决方案四:
最小化,遮挡,或者人为发送WM_Paint,或者Invalidate等函数都会出发WM_Paint消息,一般控件都有OnPaint事件,如果要让你的内容一致显示在界面上就需要在WM_Paint消息中处理
也就是OnPaint这类事件
解决方案五:
在窗体后台代码中重写onPaint方法,绘图代码写在这个方法里
解决方案六:
会的,系统是在WM_PRINT里面重画窗口的,你用的什么做的窗口,如果是API可以在注册窗口类的WNDCLASS的设置窗口回调函数,如果不是可以用SetWindowLong设置回调函数,在WM_PRINT里BeginPrint,获取HDC(不要用GetDC了),然后画图即可,这样窗口每次重画你的图案都会画上去了,MFC有现成的onPrint,
解决方案七:
每次调出都会进行重画,任何绘画都一样
时间: 2024-11-01 03:41:22