当窗口内容被破坏时,如何重画?
当移动窗口、改变窗口大小、或者窗口从上层移到下层等等,此时窗口内的内容就没有了,如何保留它们?
我没有采用OnDraw作图,是利用CClientDC直接在窗口上绘图写字的。
问题点数:20、回复次数:6Top
1 楼emailtoi(一天到晚抓鱼的猫)回复于 2001-08-09 13:26:51 得分 0
add InvalidateAllViews function in OnDrawTop
2 楼azuo_lee(宿醉)回复于 2001-08-09 13:36:07 得分 20
这样做无法保留。你可以这样:
画图不要直接画在ClientDC上,而是画在一个memDC里(注意这个memDC应该是程序启动时创建、程序结束时才销毁),画完以后再取得ClientDC,然后用这个ClientDC调用OnDraw;
接下来在OnDraw中加入一句话:将memDC中的内容BitBlt到OnDraw的参数pDC所指的DC中,OK。Top
3 楼amoroso(鼠标)回复于 2001-08-09 18:33:27 得分 0
这倒是个好方法,多谢azuo_lee.
let me try
Top
4 楼Belle(不会游泳的鱼....)回复于 2001-08-09 18:50:22 得分 0
upTop
5 楼111222(www.111222.cn)回复于 2001-08-09 19:15:24 得分 0
UpdateWindow啊Top
6 楼yy23rock(云云)回复于 2001-08-13 01:00:14 得分 0
用Invalidate()Top




