[問題] 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