我用TextOut在屏幕上显示一段文字,除了InvalidateRect之外,还有没有什么办法把它擦掉?

rchgq 2002-08-26 10:08:48
我用TextOut在屏幕上显示一段文字,除了InvalidateRect之外,还有没有什么办法把它擦掉?因为我不想每次擦除时,屏幕因为刷新都晃一下。
...全文
166 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
司马青衫依旧 2002-08-27
  • 打赏
  • 举报
回复
来晚了,大家说得都挺好的。
我觉得用背景色再把文字写一遍。
即使是显示时间也可以这样:用一个透明的Edit控件就可以了。
aftravel 2002-08-27
  • 打赏
  • 举报
回复
请问各位,如何在背景图上显示文字列。。。。。不要覆盖背景图。。。。。。。。。。。比如,在底图上显示系统时间,并且要随系统时间一起变化。。。。
sudy_sh 2002-08-27
  • 打赏
  • 举报
回复
我是这样弄的,你可以先运行你的程序,在print screen,保存为bmp格式
在从中截取你的程序的背景,另外保存。
在vc里面添加资源,bitmap,导入刚才截取的程序背景,然后
http://www.vckbase.com/document/viewdoc.asp?id=341
mkpczxl 2002-08-27
  • 打赏
  • 举报
回复
dfsdfsdafdfs
冰壶2013 2002-08-26
  • 打赏
  • 举报
回复
我这里没有VC,没办法试验,只能说说原理
你在写文字之前,先想办法把那一块的屏幕背景保存下来,具体怎么保存你查查资料吧。
刷新时用双缓冲法把该背景贴回去。
rchgq 2002-08-26
  • 打赏
  • 举报
回复
TO : imhua(华弟)
你所说的正是我的想法,帮忙,怎么弄?
littlefellow 2002-08-26
  • 打赏
  • 举报
回复
因为简单的一行字或者一条线可以用异或非擦除,大段的程序,很多的绘制,要将每一个都分析出来,进行异或非,那是自找苦吃.也可以用双缓冲法,就是用用个Bitmap,和背景一样大,用来画,画好了直接贴到背景上.具体就是先生成一个位图,然后生成一个CDC memdc;
memdc.CreateCompotibleDC(pDC);
memdc.SelectObject(&bmp);
memdc.Draw(...);
pDC ->BitBle(...,&memdc,0,0,SRCCOPY);
我还喜欢先生成一个有固定背景(比如很多网格和一些相对不变)的图,然后存起来,每次重绘时复制一个,只画那些变化的图案.在OnSize等消息中更新背景图,还没仔细衡量哪个快.
littlefellow 2002-08-26
  • 打赏
  • 举报
回复
将OnEraseBackGround的消息返回值直接设为TRUE,然后在自己的绘制函数中用一种喜欢颜色填充ClipRect;这样InvalidateRect()效果很好.
rchgq 2002-08-26
  • 打赏
  • 举报
回复
TO phoenixzz(小百货) :
怎么写法,告诉我吧。
phoenixzz 2002-08-26
  • 打赏
  • 举报
回复
用异或方式再写一次
无聊客 2002-08-26
  • 打赏
  • 举报
回复
用背景色再写一次,如:先SetTextColor(RGB(0,0,0));SetBKColor(RGB(255,255,255))写,再SetTextColor(RGB(255,255,255)),不就搽了,,苯办法
rchgq 2002-08-26
  • 打赏
  • 举报
回复
我的文字是在桌面上显示,桌面的颜色不固定,而我把文字擦除时,又想恢复桌面本来的面目,我该怎么办?
冰壶2013 2002-08-26
  • 打赏
  • 举报
回复
可以先把那一块的背景保存下来,
刷新时只需把背景贴上去,而不用擦掉文字。
这样不会有闪烁感。
javanew 2002-08-26
  • 打赏
  • 举报
回复
当然有,你把有文字的地方的color值异或一下
phoenixzz 2002-08-26
  • 打赏
  • 举报
回复
画一个覆盖字的白色矩形

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧