我在单文档的客户区画了很多数学函数的曲线,但最小化或窗口改变后就消失了,
我知道要重写视图类的OnDraw函数,但这较麻烦,几乎代码要重写一遍,
敢问:有没有简单的方法把视图客户区最小化时保存下来,重现时就显示出来?
我知道要重写视图类的OnDraw函数,但这较麻烦,几乎代码要重写一遍,
敢问:有没有简单的方法把视图客户区最小化时保存下来,重现时就显示出来?
解决方案 »
- listbox自绘总是报错怎么回事
- 急!构建一个校园教育服务器
- sock,使之异步,用setsockopt设置SO_LINGER实现在XP(SP2)下的IP端口扫锚??!!!
- varchar转换为CString 时当varchar列的值为NULL时出错?
- 用CreateProcess运行一个exe,如何设定该exe的工作路径
- 如何把COM对象作为参数传递给另外的COM对象?
- 简单问题,高分!!!
- 如何打印超文本?答出来就给分!
- 各位大虾能提供些 UDP编程的资料和源码吗?万分感谢..
- 怎么该表WC_LISTVIEW中行字体的大小?
- vs.net 2003 里的MSDN为什么好多内容都没有??
- Date Time Picker如何设置时间??(在线)
中调用你的函数Invalidate调用Ondarw
可是我的函数里面还有些别的功能,不好直接调用。
并且,画那些曲线也很麻烦,要是在OnDraw再重复一遍,会很花时间去写。
比如你要画的那些曲线是通过一个菜单或按钮的响应函数去画的,那你把OnXXXXX里面的所有代码都放到另一个函数DrawCurves里,在这个OnXXXXX里和OnDraw里都调用DrawCurves这个函数就结了,完全不至于多花时间吧?不过要注意的是,你需要一个标志来表明是不是曾经点击了那个菜单或按钮以决定在OnDraw里调用不调用DrawCurves,这样才能让二者同步。(这样的话,你甚至可以在OnXXXXX里面都不用调用DrawCurves,只是简单地设置这个标志,然后调用Invalidate(),由OnDraw负责帮你调用DrawCurves。)