当前位置: 代码迷 >> VC/MFC >> 双缓冲和圆角剪切区的有关问题
  详细解决方案

双缓冲和圆角剪切区的有关问题

热度:137   发布时间:2016-05-02 03:51:40.0
双缓冲和圆角剪切区的问题。
在一个窗口中画一个圆角矩形,然后用(CreateRoundRectRgn)创建一个圆角矩形剪切区,发现有时会闪烁。
然后用双缓冲画的,闪烁没有了,但是圆角矩形的四个角都是黑色。
因为我要把窗口的背景设为透明,只想显示圆角矩形那一块,不知有什么方法可以实现?
图:

图中窗口背景是 (NULL_BRUSH),
红色圆角矩形是我要的区域,
四个角的黑色不知道如何去掉。。
求指点!
------解决思路----------------------
贴图到目标DC之前对目标DC进行裁减
------解决思路----------------------
这个跟GDI对象要select到DC中才有效是一个道理:SelectClipRgn
------解决思路----------------------
CreateRoundRectRgn应该设置到设备DC而不是内存DC里面,当然如果需要,内存DC也需要设置
  相关解决方案