varding

导航

 

1、wtl窗口的OnPaint消息必须传下去,即:bHandled = FALSE,不然定时器什么的都失效了...GIS loading到110个的时候也卡死了

 

2、wtl里的响应了OnEraseBkgnd(bHandled=TRUE)后OnCtlColorDlg不再起作用,应该是ctl_color返回的画刷给系统默认的OnEraseBkgnd函数来刷背景的

 

3、贴图的时机:(这个结论待定...刚才明明测试已经不闪了,现在发现还是很闪)

因为界面是我自绘的所以用了双缓冲机制,先绘到bitmap里然后在OnPaint里贴图,如果界面比较简单是没问题的,改变窗口大小等操作界面都很流畅。

但是包含其他耗资源的窗口的时候就有问题了,例如我现在在窗口里添加的(Skyline)GIS控件加载了地图后。

具体表现为:改变窗口大小的时候窗口就会在:透明->贴图->透明->贴图...这样重复下去,看起来闪的很厉害,而且闪的时候GIS窗口(包含InfoTree和GIS主窗)也和主窗口一样:透明->显示->透明->显示... 的重复下去,闪的很厉害。

最后改在OnEraseBkgnd贴图主窗口没问题了,主窗口部分完全不闪了,GIS主窗口在改变大小的时候绘制有点延时产生部分的拖尾,不过这个不是我能解决的了,而且GIS控件的窗口出现的透明时间减少了很多可以忽略了

 

4、OnEraseBkgnd传进来的wparam总是有效的,而OnPaint传进来的总是0

posted on 2010-11-27 21:42  varding  阅读(819)  评论(0)    收藏  举报