[发明专利]基于内存映射的多位图快速显示处理方法有效
申请号: | 201210246560.6 | 申请日: | 2012-07-16 |
公开(公告)号: | CN102799436A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 蔡远文;程龙;李岩;解维奇;姚静波;辛朝军;张宇;王华 | 申请(专利权)人: | 蔡远文 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F3/14 |
代理公司: | 北京双收知识产权代理有限公司 11241 | 代理人: | 吴杰;解政文 |
地址: | 101416 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 内存 映射 位图 快速 显示 处理 方法 | ||
技术领域
本发明涉及一种航天测试软件设计技术,尤其涉及一种基于内存映射的多位图快速显示处理方法。
背景技术
目前航天测试软件(如航天测试软件发射控制台以及数据显示界面)的图形界面主要利用系统自带的绘图函数,通过改变底色和文字颜色来指示按钮或开关的动作。如在VC编程环境中,首先,利用CPen和CBrush类设置按钮的边缘和填充颜色。接着,利用CDC类的绘图函数绘制按钮形状,如Ellipse函数绘制椭圆形按钮。然后,利用CFont类以及TextOut等字体和文字操作函数设置按钮名称。最后,根据试验状态来刷新和改变按钮背景颜色,以显示动作。这种方法虽然能够表现试验状态特征,但由于在绘制界面的过程中,刷新步骤采用系统默认方式,由于不设定或只设定一个状态的显示图形,每次状态刷新均需重复生成指示灯新状态的图像,刷新耗时较长,影响快速测试的实时性,无法动态显示快速测试数据的变化情况,实时性较差。
发明内容
本发明的目的在于提供一种实时性好的基于内存映射的多位图快速显示处理方法。
为达到上述目的,本发明提供了一种基于内存映射的多位图快速显示处理方法,包括以下步骤:
预先定义多个模块化的显示控件;
在初始化过程中生成每个所述显示控件在其各个状态下的位图;
调用所述显示控件的显示背景,并设置该显示控件的与其显示位图对应的显示状态;
根据该显示控件的状态更新函数更新所述显示状态;
释放内存资源。
本发明的基于内存映射的多位图快速显示处理方法中,先在内存中生成每个显示控件的各种状态的位图,然后根据需要直接从内存中加载对应位图,从而提高显示实时性,也减少了界面显示对试验进程的影响。
附图说明
图1为本发明的基于内存映射的多位图快速显示处理方法的流程图。
具体实施方式
下面结合附图对本发明的基于内存映射的多位图快速显示处理方法的具体实施方式进行详细描述:
参考图1所示,本实施例的基于内存映射的多位图快速显示处理方法,包括以下步骤:
S1、预先定义多个模块化的显示控件。预定义的显示控件包括主背景控件、按钮控件、指示灯控件、模拟电压及电流表显示控件、曲线显示控件、波形及电压显示控件、测试数据文本显示列表控件和时钟显示板控件。以指示灯控件(CCFLight)为例,在VC编程环境中,采用类的封装和实例化实现指示灯控件的动态调用,通过设置自绘指示灯控件的大小、位置、标题文字等信息,生成符合要求的指示灯控件,并按要求显示各种状态,其类设置如下表1所示:
表1
S2、在初始化过程中生成每个显示控件在其各个状态下的位图。下面,以指示灯控件(CCFLight)的某一成员变量(m_bmpLight1)为例说明,具体步骤如下:
S201、将预定义的指示灯控件的位图资源(IDB_LIGHT1)载入其位图类型(CBitmap)的成员变量(m_bmpLight1)中;
S202、创建与屏幕显示设备(m_pDC)兼容的内存映射显示设备(memdc);
S203、将成员变量(m_bmpLight1)载入内存并与内存映射显示设备(memdc)关联,此后内存映射显示设备(memdc)中所作的以成员变量(m_bmpLight1)为背景的绘图均保存于成员变量(m_bmpLight1)中;
S204、获取成员变量(m_bmpLight1)的位图资源信息存于其位图类型(BITMAP)的结构体(m_bmp)中;
S205、将内存映射显示设备(memdc)中已载入的成员变量(m_bmpLight1)位图(即原位图资源IDB_LIGHT1的图像)按照用户定义大小(m_Width,m_Height)进行无损拉伸显示,从而保证了指示灯控件在大小调节时的色彩不会丢失;
S205、在内存映射显示设备(memdc)中添加该位图需显示的文字(m_Title),并将其存入成员变量(m_bmpLight1);
S207、删除临时显示设备变量(即内存映射显示设备(memdc)),清理其占用的内存,但保留成员变量(m_bmpLight1)。
S3、调用显示控件的显示背景,例如指示灯背景SetBack(),并设置该显示控件的与其显示位图对应的显示状态,例如指示灯状态SetState(int nState)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蔡远文,未经蔡远文许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210246560.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种铝土矿的处理方法
- 下一篇:一种频率复用的方法及通信系统