CN102799436A - 基于内存映射的多位图快速显示处理方法 - Google Patents
基于内存映射的多位图快速显示处理方法 Download PDFInfo
- Publication number
- CN102799436A CN102799436A CN2012102465606A CN201210246560A CN102799436A CN 102799436 A CN102799436 A CN 102799436A CN 2012102465606 A CN2012102465606 A CN 2012102465606A CN 201210246560 A CN201210246560 A CN 201210246560A CN 102799436 A CN102799436 A CN 102799436A
- Authority
- CN
- China
- Prior art keywords
- memory
- mapped
- bitmap
- control
- display device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于内存映射的多位图快速显示处理方法,包括以下步骤:预先定义多个模块化的显示控件;在初始化过程中生成每个所述显示控件在其各个状态下的位图;调用所述显示控件的显示背景,并设置该显示控件的与其显示位图对应的显示状态;根据该显示控件的状态更新函数更新所述显示状态;释放内存资源。该方法中,先在内存中生成每个显示控件的各种状态的位图,然后根据需要直接从内存中加载对应位图,从而提高显示实时性,也减少了界面显示对试验进程的影响。
Description
技术领域
本发明涉及一种航天测试软件设计技术,尤其涉及一种基于内存映射的多位图快速显示处理方法。
背景技术
目前航天测试软件(如航天测试软件发射控制台以及数据显示界面)的图形界面主要利用系统自带的绘图函数,通过改变底色和文字颜色来指示按钮或开关的动作。如在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)。
S4、根据该显示控件的状态更新函数更新显示状态。以指示灯控件(CCFLight)为例,更新过程包括以下步骤:
S401、创建与屏幕显示设备(m_pDC)兼容的内存映射显示设备(memdc);
S402、根据设定状态(m_State)将相应的位图载入内存映射显示设备(memdc);
S403、将内存映射显示设备(memdc)中的位图映射至屏幕显示设备(m_pDC)上。
S404、删除临时显示设备变量(即第二内存映射显示设备(memdc)),清理其占用的内存。
S5、释放内存资源。
以上的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。
Claims (4)
1.一种基于内存映射的多位图快速显示处理方法,其特征在于,包括以下步骤:
预先定义多个模块化的显示控件;
在初始化过程中生成每个所述显示控件在其各个状态下的位图;
调用所述显示控件的显示背景,并设置该显示控件的与其显示位图对应的显示状态;
根据该显示控件的状态更新函数更新所述显示状态;
释放内存资源。
2.根据权利要求1所述的基于内存映射的多位图快速显示处理方法,其特征在于,所述在初始化过程中生成每个所述显示控件在其各个状态下的位图,具体包括如下步骤:
将预定义的每个显示控件的位图资源载入其位图类型的成员变量中;
创建与屏幕显示设备兼容的第一内存映射显示设备;
将所述成员变量载入内存并与所述第一内存映射显示设备关联,然后将所述第一内存映射中作出的以所述成员变量为背景的绘图保存于所述成员变量中;
获取所述成员变量的位图资源信息并存于其位图类型的结构体中;
将所述第一内存映射显示设备中已载入的所述成员变量的位图按照预定义大小进行无损拉伸显示;
在所述第一内存映射显示设备中添加所述位图需显示的文字,并将其存入所述成员变量中;
保存所述成员变量,并删除所述第一内存映射显示设备,清理其占用的内存。
3.根据权利要求2所述的基于内存映射的多位图快速显示处理方法,其特征在于,所述根据该显示控件的状态更新函数更新所述显示状态,具体包括如下步骤:
创建与屏幕显示设备兼容的第二内存映射显示设备;
根据设定状态将相应的位图载入所述第二内存映射显示设备;
将所述第二内存映射显示设备中的位图映射至所述屏幕显示设备上;
删除所述第二内存映射显示设备,清理其占用的内存。
4.根据权利要求3所述的基于内存映射的多位图快速显示处理方法,其特征在于,所述显示控件包括主背景控件、按钮控件、指示灯控件、模拟电压及电流表显示控件、曲线显示控件、波形及电压显示控件、测试数据文本显示列表控件和时钟显示板控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246560.6A CN102799436B (zh) | 2012-07-16 | 2012-07-16 | 基于内存映射的多位图快速显示处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246560.6A CN102799436B (zh) | 2012-07-16 | 2012-07-16 | 基于内存映射的多位图快速显示处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799436A true CN102799436A (zh) | 2012-11-28 |
CN102799436B CN102799436B (zh) | 2015-06-10 |
Family
ID=47198553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210246560.6A Active CN102799436B (zh) | 2012-07-16 | 2012-07-16 | 基于内存映射的多位图快速显示处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799436B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569757A (zh) * | 2015-10-08 | 2017-04-19 | 青岛海信电器股份有限公司 | 一种更改图形界面文本颜色的方法和装置 |
US9934074B2 (en) | 2015-08-26 | 2018-04-03 | International Business Machines Corporation | Scheduling MapReduce tasks based on estimated workload distribution |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101322650A (zh) * | 2007-06-13 | 2008-12-17 | 深圳市蓝韵实业有限公司 | 一种超声图像显示方法 |
CN101727315A (zh) * | 2008-10-14 | 2010-06-09 | 上海科泰世纪科技有限公司 | 实现按钮类面板控件操作显示的方法 |
-
2012
- 2012-07-16 CN CN201210246560.6A patent/CN102799436B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101322650A (zh) * | 2007-06-13 | 2008-12-17 | 深圳市蓝韵实业有限公司 | 一种超声图像显示方法 |
CN101727315A (zh) * | 2008-10-14 | 2010-06-09 | 上海科泰世纪科技有限公司 | 实现按钮类面板控件操作显示的方法 |
Non-Patent Citations (1)
Title |
---|
彭奕文等: "《ActiveX 技术在工控组态软件中的应用》", 《控制工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934074B2 (en) | 2015-08-26 | 2018-04-03 | International Business Machines Corporation | Scheduling MapReduce tasks based on estimated workload distribution |
CN106569757A (zh) * | 2015-10-08 | 2017-04-19 | 青岛海信电器股份有限公司 | 一种更改图形界面文本颜色的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102799436B (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210126884A1 (en) | Dynamic configuration of application component tiles | |
CN104007991B (zh) | 应用程序界面布局调整方法和装置 | |
CN104216752B (zh) | 一种基于窗口的信息加载方法及装置 | |
CN102411880B (zh) | 一种led显示屏带载配置系统及其配置带载的方法 | |
KR102615855B1 (ko) | 표시 설정에 따른 디스플레이 구동 방법 및 이를 지원하는 전자 장치 | |
CN107092453B (zh) | 一种屏幕显示控制方法、装置及终端 | |
KR101997776B1 (ko) | 디스플레이 장치의 소모 전력을 감소시키기 위한 방법 및 그 전자 장치 | |
EP2846613A3 (en) | Lighting system and method of controlling the same | |
CN101964822B (zh) | 一种用于多个网络摄像机视频显示的列表更新方法 | |
US20150026617A1 (en) | Mobile terminal application icon management method and mobile terminal | |
US20140101583A1 (en) | Mobile terminals and methods of operating the same | |
CN104063211A (zh) | 用于具有可变的显示屏尺寸和取向的设备的布局系统 | |
CN102609248A (zh) | 一种基于mda的综合航空电子系统建模仿真平台 | |
CN102999364B (zh) | 一种基于电网运行监视主题分类和动态加载的方法及设备 | |
CN103258520B (zh) | 一种信息处理方法、系统及一种电子设备 | |
CN103106058A (zh) | 一种基于Android系统的双屏显示方法及智能显示终端 | |
US9223468B2 (en) | Display apparatus, display method and program | |
CN103870119A (zh) | 一种信息处理方法和电子设备 | |
CN104778022A (zh) | 一种数据处理方法及电子设备 | |
CN101764971A (zh) | 一种在屏显示装置及其在屏显示方法 | |
CN103399873A (zh) | 虚拟现实系统的数据库动态加载管理方法及装置 | |
JP5821165B2 (ja) | 画像制御装置、画像制御プログラム及び方法 | |
ES2565338T3 (es) | Puntero aumentado basándose en vectores | |
CN102799436B (zh) | 基于内存映射的多位图快速显示处理方法 | |
CN103793156A (zh) | 一种移动终端系统中应用程序的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |