双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请教下textout 的文字怎么清除

unhappyless unhappyless 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

我是想做一个拖动鼠标画矩形功能,并且在矩形的上方 textout 矩形的信息。在画矩形的 mousemove 过程中,textout 的内容会变化且改变位置,就需要把之前textout 的内容清除掉

 

如果textout 也有 R2_NOTXORPEN 模式那就很方便了。

 

我试了几种方法都不理想,比如:

1, 

    CDC* pDC = GetDlgItem(IDC_PIC)->GetDC();

 COLORREF bkref = pDC->GetBkColor();
        COLORREF textref = pDC->SetTextColor(bkref);

        pDC->TextOut(100, 100, "fsafsd");
        pDC->SetTextColor(textref);

 

用背景色来设置文本颜色,这样字是看不见了,但背景的底色还在。

 

2.也试过了 InvalieRect    UpdataWindows  方法,也是能把字清除,但底色还在

 

请教下 textout 的文字要怎么清除干净,谢谢

 

即使我把 pDC->SetBkMode(TRANSPARENT); 背景底色设成透明的,在有字情况下是看不到底色,但把字用背景色输出又变成默认底色输出

...全文
评论
收藏 已收藏
分享
返回顶部
unhappyless
VC/MFC 16,550 成员 421,605 内容