[问题] MFC的CClientDC

楼主: wtuxxj (尋找Miss Right)   2016-05-12 09:08:35
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Visual Studio 2010
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
GDI、CRect、CClientDC
问题(Question):
程式中会先预加载蓝色的底图,
再由底图上用CClientDC去TextOut所需要的字,
但这个字需要一秒更新一次,需要除去原有的字(FillSolidRect),
再TextOut上去,我想要的效果是这个crect是透明的,
但加上SetBkMode(TRANSPARENT)之后,更新的字会一直重叠,
此时,只能用FillSolidRect去把字消去
如下图
http://imgur.com/lxep3jm
底图是在resource里的bitmap
用cdc和bitmap贴上去的,只更新一次就不会再改变
有什么办法能让更新的字,底色白色去掉吗
作者: hichcock (快乐一整年 ^^~~~)   2016-05-12 10:45:00
底图也一起更新??
作者: v7q4 ((.)(.)乳剑双修 -|=>)   2016-05-12 11:36:00
珍惜生命,远离MFC。
作者: sosokill (vieux)   2016-05-13 11:21:00
先反向去除前一笔的文字 再重新上文字?
楼主: wtuxxj (尋找Miss Right)   2016-05-13 11:36:00
反向?是什么意思
作者: sosokill (vieux)   2016-05-13 12:22:00
就像是橡皮擦一样 擦掉之前的文字
作者: TeaEEE (爱不趴 不爱趴)   2016-05-17 19:49:00
楼上说的是用SetROP2

Links booklink

Contact Us: admin [ a t ] ucptt.com