4070|10

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

一个界面上有5个隔1s变化一次的数值,用什么办法做,不抖动 [复制链接]

MFC编程(WINCE)
一个对话框界面上有5个隔1s变化一次的数值,用什么办法做,不抖动。

我在时直接在写屏,把背景设置成白色,这样可以覆盖前一次的字。

最新回复

为什么不能用只读的CEdit控件呢? 我现在是直接写屏的。会抖。 我想用控件,也会抖吧。 要想不抖,估计要双缓冲,但是会消耗内存和CPU带宽。  详情 回复 发表于 2009-12-29 21:34
点赞 关注

回复
举报

89

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
使用双缓冲技术,可以解决
 
 

回复

95

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
采用所谓的离屏绘制。
先将所要绘制的图形,图像,文字等等
绘制到一个临时的绘图环境中
然后再将临时绘图环境绘制到屏幕上
这样可以提高绘图效率,并且不会出现闪屏

如 code:
CClientDC dc(this);
CDC offDC;
CBitmap offBitmap;
CBitmap *pOldOffBmp = NULL;

CDC bmpDC;
CBitmap aniBmp;
Cbitmap *pOldAniBmp = NULL;

offDC.CreateCompatibleDC(&dc);
offBitmap.CreateCompatibleBitmap(&dc,x,y);
pOldOffBmp = offDC.SelectObject(&offBitmap);

aniBmp.LoadBitmap(IDB_XXX);
bmpDC.CreateCompatibleDC(&offDC);
pOldAniBmp = bmpDC.SelectObject(&aniBmp);

offDC.PatBlt(0,0,x,y,WHITENESS);
TransparentImage(offDC.m_hDC,.....);
dc.Bitblt(0,0,x,y,&offDC,0,0,SRCCOPY);

bmpDC.SelectObject(pOldAniBmp);
offDC.Selectobject(pOldOffBmp);

aniBmp.DelectObject();
bmpDC.DelectDC();
offBitmap.DelectObject();
offDC.DeleteDC();
——————————————————————————
JOYZML(菜鸟朱铭雷)
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 91program 的回复:
使用双缓冲技术,可以解决


这个方法我已经知道。谢谢。
但是我的处理器速度很慢,内存空间也不大。
我现在静态的对话框,就是显示过程中不会变化的,都是用了双缓冲,这样可以加快速度,对内存空间有要求。如果隔1s要变化一次的对话框,也使用双缓冲,每次都要刷1次800*600的背景图片,再刷字,整个过程要消耗10到20ms的时间,整个对我的其他线程的处理速度可能会有很大的影响。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 2 楼 joyzml 的回复:
采用所谓的离屏绘制。
——————————————————————————
JOYZML(菜鸟朱铭雷)


谢谢
我的处理器类似s3c2410的条件。

我的另一个关于对话框消失的问题。描述有点长,但说了对话框A,对话框B都是全局性质的变量。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

6
 
如果背景不变,可以考虑只刷新字和它的背景
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
试下比如建个CStatic控件,然后在它的处理类中刷他的字和背景
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

8
 
我的建议:不要用控件,直接在背景上输出文字。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
用内存绘图输出文字
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

10
 
双缓冲。
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 7 楼 91program 的回复:
我的建议:不要用控件,直接在背景上输出文字。


为什么不能用只读的CEdit控件呢?
我现在是直接写屏的。会抖。
我想用控件,也会抖吧。

要想不抖,估计要双缓冲,但是会消耗内存和CPU带宽。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表