我想logging油漆消息来解决问题,我需要一种方法来知道WM_PAINT消息是否必须擦除背景,所以我在WM_PAINT处理中做了这个:
hdc = BeginPaint(hwnd,&ps); //code to output the Invalid RECT is ommited..... if(ps.fErase){ //output true }else{ //output false };
即使我调用InvalidateRect(hwnd,true); ps.rcPaint也有正确的值,但ps.fErase总是“false” InvalidateRect(hwnd,true); 其中hwnd是我loginWM_PAINT消息的窗口,这里是一些输出图像
我想知道如果无效的统治绘画请求包括擦除背景像我最后一个InvalidateRect(hwnd,1); 我在做什么错了?
提前致谢
Windows控制台中的C ++键input
将QWebEngineView呈现给打印机
C ++ Linux套接字在char * msg中添加variables
低级控制台input和redirect
Windows – 以编程方式检查托pipe的wlannetworking是否可能在系统的硬件上
Windows挂在WM_WINDOWPOSCHANGED
C ++ USB通信
glibc 1.22 malloc(ptmalloc2)+ Poco(1.5.2)ThreadPool =非常慢?
如果后台需要擦除,系统会在WM_PAINT之前发送WM_ERASEBKGND 。 如果你没有处理这个消息,那么它将通过DefWindowProc自动清除背景。
您需要处理WM_ERASEBKGND并返回0以指示系统背景尚未被擦除。 它会在WM_PAINT给你另一个机会。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。