如何清除设备上下文
How do I clear a device context?
我不确定这是否可能。但基本上我需要的要点是我的Win32程序中的一堆东西是通过WM_PAINT期间的设备上下文绘制到hWnd的。然后通过一个单独的函数,我有更多的东西绘制到hWnd通过相同的DC。不幸的是,因为我使用相同的DC,在WM_PAINT期间绘制的东西仍然保存在DC中,因此随后通过我的函数再次复制。
我需要做的是清除我的设备上下文的内容在WM_PAINT结束或我的函数的开始,这样的东西不会复制两次。
为什么你不能在WM_PAINT处理程序中完成整个绘图?在第二个绘图中你如何绘制?可能会使用GetDC来获取设备上下文和绘图,对吧?问题是,当您在WM_PAINT处理程序外绘制时,当窗口需要重新绘制时,它会被擦除,并且WM_PAINT绘制优于基于GetDC的绘画,除非您使用位元来保持当前上下文的内容
当你需要在WM_PAINT
之外的时候,做所有的屏幕外位图,然后简单地将当前位图复制到WM_PAINT
内部的HWND
。
相关文章:
- #为""定义宏;静态";针对不同的上下文
- 与互斥锁相比,旋转锁可以保证上下文切换
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么我不能使用 EGL 创建无头 OpenGl 上下文?
- 清除前检查矢量
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 为什么在逗号分隔符上下文中将预增量的结果强制转换为void
- 错误"Could not find Boost"(缺少:上下文标头)
- 使用 mod_gsoap 部署服务时,如何在 Gsoap 中更改 soap 上下文的模式?
- ifstream文件在从行中读取时被清除
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 如何清除/清空已打开的文件C++
- 将有状态的 lambda 传递到 C 样式函数中,而无需上下文参数
- 安排带有上下文的协同程序
- 我的文件无法正常工作,无法从C++文件中读取上下文
- 如何在 c++ 中清除矢量容量?
- DCMTK 了解"DIMSE 没有有效的演示上下文 ID"错误
- 可以清除递归函数中的变量吗?
- 在清除 istream 之前,我不应该需要取消获取它吗?
- 如何清除设备上下文