使用ExtTextout输出变量,下次输出的值覆盖上次的,没有刷新,怎么办?

当我遇上-你 2011-03-23 06:48:35
我在定时器里面1S钟改变下变量的值,使用ExtTextout输出,怎么输出的值覆盖上次的,没有刷新窗体,使用InvalidateRect()函数来刷新显示的部分,但是根本看不到数值显示,要怎么样才能达到EDIT更新数据的效果呢?
...全文
191 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
当我遇上-你 2011-03-24
  • 打赏
  • 举报
回复
来人啊,版主呢?跑那里去了
当我遇上-你 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wangyt 的回复:]
把EDit控件做成灰色的。并且绑定CString变量,UpdateData就行了。有那么复杂吗?
[/Quote]
麻烦看完贴子,没得控件的哈
最好的就是
建立一个CBITMAP .在内存里面画了以后,需要显示到时候取出来显示上去。也就是双缓冲绘图。
最无奈的方法,你需要绘制之前,那那块区域再刷得和背景一样,然后再画。
只有这样了吗?
onlyliu 2011-03-24
  • 打赏
  • 举报
回复
最好的就是
建立一个CBITMAP .在内存里面画了以后,需要显示到时候取出来显示上去。也就是双缓冲绘图。
最无奈的方法,你需要绘制之前,那那块区域再刷得和背景一样,然后再画。
一名程序员 2011-03-24
  • 打赏
  • 举报
回复
把EDit控件做成灰色的。并且绑定CString变量,UpdateData就行了。有那么复杂吗?
wyx100 2011-03-24
  • 打赏
  • 举报
回复
如果刷新频率不快的话可以用10楼的办法。

要是比较快的话只能用双缓冲。
当我遇上-你 2011-03-24
  • 打赏
  • 举报
回复
呵呵,和我头像很像啊,我已经用双缓冲实现了,谢谢
morebread 2011-03-24
  • 打赏
  • 举报
回复
如果刷新频率不快的话可以用10楼的办法。

要是比较快的话只能用双缓冲。
zyrr159487 2011-03-24
  • 打赏
  • 举报
回复
只想到个笨方法:画个背景色矩形覆盖它,然后你再写上数据
当我遇上-你 2011-03-24
  • 打赏
  • 举报
回复
窗体背景重刷,会出现闪烁,难道只能用双缓冲?
jackiesen 2011-03-24
  • 打赏
  • 举报
回复
UpdateData(FALSE)试试!
狂风暴雨 2011-03-24
  • 打赏
  • 举报
回复
重绘窗口可以不.
当我遇上-你 2011-03-23
  • 打赏
  • 举报
回复
效果如下面所示,
32.5°只绘制了一次,下面的是从0.0°开始增加的,步进为0.1,可以看出覆盖了
当我遇上-你 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dong364 的回复:]
变量跟edit绑定 不绑定的话 ::SetWindowText(edit's handle, text to set)
[/Quote]
没有控件的哈,我是想要怎么样才能达到EDIT更新数据的效果呢?就是显示123的时候上次显示的000被擦除了,现在是连续的在一个地方绘制变量
当我遇上-你 2011-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huangcheng90 的回复:]
用UpdateWindow试试
[/Quote]
效果一样的,数据一直都有更新,问题是怎么样把上次显示的擦除了,现在比如显示123,上次显示的000,123有绘制到000上面了,怎么样把000擦除了?
dong364 2011-03-23
  • 打赏
  • 举报
回复
变量跟edit绑定 不绑定的话 ::SetWindowText(edit's handle, text to set)
Dreadnought 2011-03-23
  • 打赏
  • 举报
回复
用UpdateWindow试试

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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