1:在基于对话框的MFC工程中进行区域动态贴图,已经实现,实现方式是通过timer()在timer中postmessage(wm_paint)进行从新绘制,但是,上次绘制的图片还会存在,怎样能够擦除(本次绘制没有绘到而上次绘制到的地方)
2:静态的对话框重载OnCtlColor进行了Edit控件的背景色和字体颜色的设置,该Edit控件右侧存在滚动条,在Edit控件刷新的时候,控件的在边框模式和滚动条两头的小箭头(点击滚动条就滚动哪个)会被背景色覆盖,而Edit控件的窄边框(选择了带边框控件)刷新的时候窄边框会消失,上面的两个问题,在鼠标焦点在边框上或在滚动条的小箭头部位时会完成在边框和滚动条箭头的正确绘制。
以上:
1题40,2题60
2:静态的对话框重载OnCtlColor进行了Edit控件的背景色和字体颜色的设置,该Edit控件右侧存在滚动条,在Edit控件刷新的时候,控件的在边框模式和滚动条两头的小箭头(点击滚动条就滚动哪个)会被背景色覆盖,而Edit控件的窄边框(选择了带边框控件)刷新的时候窄边框会消失,上面的两个问题,在鼠标焦点在边框上或在滚动条的小箭头部位时会完成在边框和滚动条箭头的正确绘制。
以上:
1题40,2题60
postmessage(wm_erasebkgnd);
postmessage(wm_paint);2、应该是你填充的区域有问题,对话框的背景区域应该是除去标题栏和右(或左)侧滚动条以外的区域。
postmessage(wm_erasebkgnd);
postmessage(wm_paint);
这个试过重载OnErasebkgnd函数,没有效果,感觉跟你说的是一个,不过我在尝试下这种。2、应该是你填充的区域有问题,对话框的背景区域应该是除去标题栏和右(或左)侧滚动条以外的区域。
这个没有想到有可能会是区域问题,我回去试一下
你那个绘图的位置需要根据Timer()改变
2、这个问题不太好解决,建议自绘edit,自己的控制度大一些,参考
http://blog.csdn.net/mirage520/article/details/7316440