作者wtuxxj (尋找Miss Right)
看板C_and_CPP
標題[問題] MFC的CClientDC
時間Thu May 12 09:08:35 2016
開發平台(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貼上去的,只更新一次就不會再改變
有什麼辦法能讓更新的字,底色白色去掉嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.107.187
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1463015318.A.2FA.html
1F:→ hichcock: 底圖也一起更新?? 05/12 10:45
2F:推 v7q4: 珍惜生命,遠離MFC。 05/12 11:36
3F:→ sosokill: 先反向去除前一筆的文字 再重新上文字? 05/13 11:21
4F:→ wtuxxj: 反向?是什麼意思 05/13 11:36
5F:→ sosokill: 就像是橡皮擦一樣 擦掉之前的文字 05/13 12:22
6F:推 TeaEEE: 樓上說的是用SetROP2 05/17 19:49