当前位置: 代码迷 >> WinCE >> 对于模态对话框和非模态对话框解决方案
  详细解决方案

对于模态对话框和非模态对话框解决方案

热度:177   发布时间:2016-04-28 12:00:23.0
对于模态对话框和非模态对话框
我在一个练习中做了一个对话框A,A上有一个按钮A1可以弹出一个对话框B,其中,对话框B弹出的时候,A不关闭不隐藏,且对话框B的尺寸小于对话框A,弹出时对话框B处于对话框A的中央。在对话框B上有一个按钮B1,按B1可以退出对话框B。

现在出现一个问题,就是我在对话框A上绘制了一些曲线,图谱什么的,但是,弹出对话框B且操作完成之后,如果退出B,则发现对话框A中在对话框B出现位置区域的图谱什么的没有了。

我用模态和非模态对话框实现对话框B,均是如此。

我想问问,有没有办法实现对话框B退出后不会影响对话框A的显示区域。
------解决方案--------------------
你在ONPAINT里画呗,没当窗口发生动作时系统就会发WM_PAINT消息下来的
------解决方案--------------------
WM_ACTIVE 消息,响应一上并重绘
------解决方案--------------------
引用:
我绘制的图谱里面有很多数据点,如果重画,很费资源的,我主要就是不想重绘


不想重绘,你就不要遮住它。遮住了,就必须重绘。
这是 Windows 编程的基础,你不可能打破它的。
------解决方案--------------------
如果B是模态,那么DoModal后自己刷新一下A。
你觉得数据太多不想重新画,如果你用双缓冲,那么就不用担心这个问题。曲线画在一个内存DC中,OnPaint只负责将内存DC的内容显示出来就可以了。
------解决方案--------------------
我都怀疑你的A代码有问题。如果没有问题DoModal后A自动会刷新的。
  相关解决方案