999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

遙測數據列表滾動控件的設計與實現

2014-04-18 17:59:52陳飛王文韜
現代電子技術 2014年7期

陳飛+王文韜

摘 要: 實時數據滾動更新在遙測數據監測中占據著重要的地位。但隨著遙測數據采集速率的增大,幀間隔越來越小,屏幕刷新引起的閃爍也越來越嚴重。在此提出通過控件技術實現數據列表滾動功能,并通過內存拷貝,利用雙緩存機制,解決數據快速更新引起的閃爍。通過測試證明,該軟件運行穩定,操作方便,解決了屏幕閃爍問題,在遙測數據監測中發揮了重要作用。

關鍵詞: 遙測; 控件; 數據滾動更新; 屏幕閃爍; 雙緩存

中圖分類號: TN957.52?34 文獻標識碼: A 文章編號: 1004?373X(2014)07?0028?03

Design and implementation of list scroll control in telemetry data

CHEN Fei, WANG Wen?tao

(China Air?to?Air Missile Academy, Luoyang 471099, China)

Abstract: The real time data updating plays an important role in telemetry data monitoring. But screen flicker caused by refresh becomes more and more serious and the inter?frame space becomes smaller with the telemetry data acquisition rate increasing. A new method of data list scroll is introduced, which is realized with control technology, and through memory copy and double buffer storage mechanism to solve the screen flicker. The practical application shows that the software can work stable and convenient, and has high efficiency in telemetry data monitoring.

Keywords: telemetry; control; data updating; screen flicker; double buffer

0 引 言

隨著經濟的發展和科技的進步,各國越來越重視空空導彈的研制[1],空空導彈整體系統越來越復雜[2],相應遙測傳輸的信息量也就越來越大,需要實時監測的參數也就越來越多[3]。而不同的參數類型需要匹配不同的顯示格式,例如模擬量參數需要滾動顯示,各種總線參數需要以曲線的方式連續顯示。

在數據滾動更新過程中,隨著遙測數據采集速率的增大[4],幀間隔越來越小,屏幕快速更新引起的閃爍也越來越嚴重。

本文針對需要連續滾動顯示參數采取控件編寫[5]的方法,將常用功能封裝在控件中[6],提供給遙測數據采集軟件調用;并通過內存拷貝,利用雙緩存機制,解決了數據快速更新引起的閃爍,較好的實現了采集信息列表化滾動的功能。

1 軟件設計

1.1 功能設計

在數據驅動的列表滾動控件中,首先應該能夠滿足數據滾動顯示,而滾動顯示的過程實際是程序在屏幕上不停的重新繪圖,然后刷新顯示出來。

采用傳統的方法把繪圖代碼寫進函數中,通過函數的互相調用,經過繪制、擦除、重繪三個階段[7],將圖形顯示在屏幕上,當刷新比較快時,將出現比較嚴重的閃爍問題,而遙測數據的更新是以毫秒級為基礎的,所以軟件的首要功能也是最基本的功能應能夠解決當數據刷新頻率較快時的屏幕閃爍問題。

此外控件還應該具有以下功能:

(1) 標題欄與滾動欄運行時互相獨立;

(2) 可以動態改變行列的高度寬度;

(3) 當數據異常時,報警顯示;

(4) 運行過程中可以臨時取消顯示某一參數;

(5) 所有前景色、背景色均可設置;

(6) 預留接口以供程序調用。

1.2 軟件結構

從加載列表滾動控件[8]到使用一個控件的流程如圖1所示。分析圖1可以得出此控件需要以下幾個模塊:

(1) 讀寫配置文件信息模塊;

(2) 設置背景色、字體大小、參數顯示信息、報警值模塊;

(3) 參數顯示報警模塊;

(4) 改變行寬列寬信息模塊。

圖1 控件使用流程圖

2 軟件實現

2.1 滾動采取雙緩存技術

雙緩存技術是在內存中操作,然后再把操作結果拷貝到屏幕內存中進行顯示的技術。應用雙緩存技術實時顯示的滾動數據,是數據更新后的結果,而不是更新過程,更新過程是在內存中開辟的一塊區域中完成,對屏幕操作只有一次過程,更新的效率得到大幅提高。

傳統方法與雙緩存技術的比較[9]如圖2所示。

圖2 傳統方法與雙緩存技術的比較

雙緩存技術的使用過程如下[10]:

(1) 定義顯示設備對象和位圖對象:

CDC memDC;

CBitmap memBitmap;

(2) 建立與屏幕顯示內容兼容的內存顯示設備和位圖,并將位圖選入到內存顯示設備中:

memDC.CreateCompatibleDC(NULL);

memBitmap.CreateCompatibleBitmap(pDC, nWidth,nHeight);

Cbitmap*pOldBitmap=memDC.SelectObjet (&memBitmap);

(3) 先將背景色清除,然后繪圖:

memDC.FillSolidRect(0,0,nWidth,nHeight,

RGB(255,255,255));

memDC.MoveTo(……);

memDC.LineTo(……);

(4) 調用BitBlt在屏幕上顯示設備對象中的更新結果;

(5) 繪圖完畢后,釋放繪圖對象:

memDC.DeleteDC();

memBitmap.DeleteObject();

2.2 運行過程中動態改變列寬、行寬

由于控件不能獨立運行,必須嵌入到某個容器程序中,與該容器一起運行。當某個程序調用控件時,控件的大小可以動態設置,設置后就固定不變。

當需要改變列表控件的列寬時,在鼠標獲得列的焦點后,只需要像ListCtrl控件拖動某列即可改變列的寬度。

而為了運行時界面的美觀,數據需要鋪滿整個控件,這就需要在控件中均勻分布各行。當需要改變行寬時,改變的是所有的行寬。所以本控件是在計算數據滾動區域高度后,根據需要改變的行寬,重新分布各行,并且相應改變字體大小,以適應新的行寬。

2.3 讀寫配置文件信息

當控件被應用程序首次加載時,根據預留接口可以配置參數信息,包括參數名、參數對應數據顯示上下限、報警值、字體大小、背景色、文本色、行寬、列寬等信息。程序運行后,根據顯示需要,可以動態更改行寬列寬信息,以適應屏幕需要。

為了體現使用控件的便利,這些初步配置信息和更改信息,必須被保存,以供應用程序下次加載控件時自動調用。

3 使用效果

把列表滾動控件集成到遙測數據采集軟件中,列表滾動控件運行良好,占用內存空間少。實時運行過程中,可以動態調整列寬行寬信息,當數據超出報警值,可以顯示報警信息,運行界面如圖3所示。

圖3 列表滾動控件運行效果

在100 ms至6 ms間隔的采集信息測試過程中,數據滾動更新穩定,沒有出現閃爍現象。

4 結 語

基于ActiveX技術的為數眾多的軟件組件都提供了滿足某個規范的一系列編程接口,應用程序可以通過該編程接口使用有軟件組件提供的各種功能,而無需知道這些功能在具體的軟件組件里是如何實現的。雙緩存技術能夠有效的解決數據頻繁刷新引起的屏幕閃爍問題。本軟件就是基于這兩種技術開發出來的,供遙測數據采集軟件調用,測試表明,該軟件運行穩定,能夠滿足實時遙測數據的采集分析。

參考文獻

[1] 任淼,王秀萍.2011年國外空空導彈發展綜述[J].航空兵器,2012(3):3?7.

[2] 樊會濤.空空導彈系統總體設計[M].北京:國防工業出版社,2007.

[3] 李英麗,劉春亭.空空導彈遙測系統設計[M].北京:國防工業出版社,2006.

[4] 安桂生,陳雷.空空導彈靶場遙測接收處理的現狀與發展趨勢[J].航空兵器,2006(3):56?59.

[5] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業出版社,2006.

[6] 方可燕,張雙民,徐振明.Visual C++ 6.0實戰與精通[M].北京:清華大學出版社,2000.

[7] 孫家廣.計算機圖形學[M].北京:清華大學出版社,2003.

[8] 任哲.MFC Windows應用程序設計[M].北京:清華大學出版社,2004.

[9] 劉婷婷,潘彤,陳彬茹.利用雙緩存技術提高繪圖效率[J].電腦編程技巧與維護,2012(18):22?23.

[10] 姜曉峰,李云飛.計算機圖形圖像技術與應用教程[M].北京:北京希望電子出版社,2002.

[11] 周憲英,高成文.光滑不等距插值算法及其在遙測數據處理中的應用[J].現代電子技術,2013,36(18):13?15.

[12] 劉亞南,陳雷,常樹龍,等.遙測數據融合軟件的設計與實現[J].現代電子技術,2012,35(4):136?138.

[13] 王冬冬,李宇,張保祥.基于FPGA與ARM的遙測數據網絡化采集[J].現代電子技術,2011,34(16):89?92.

[14] 常樹龍.空空導彈遙測數據三維實時顯示系統設計與實現[J].現代電子技術,2010,33(4):64?66.

memDC.CreateCompatibleDC(NULL);

memBitmap.CreateCompatibleBitmap(pDC, nWidth,nHeight);

Cbitmap*pOldBitmap=memDC.SelectObjet (&memBitmap);

(3) 先將背景色清除,然后繪圖:

memDC.FillSolidRect(0,0,nWidth,nHeight,

RGB(255,255,255));

memDC.MoveTo(……);

memDC.LineTo(……);

(4) 調用BitBlt在屏幕上顯示設備對象中的更新結果;

(5) 繪圖完畢后,釋放繪圖對象:

memDC.DeleteDC();

memBitmap.DeleteObject();

2.2 運行過程中動態改變列寬、行寬

由于控件不能獨立運行,必須嵌入到某個容器程序中,與該容器一起運行。當某個程序調用控件時,控件的大小可以動態設置,設置后就固定不變。

當需要改變列表控件的列寬時,在鼠標獲得列的焦點后,只需要像ListCtrl控件拖動某列即可改變列的寬度。

而為了運行時界面的美觀,數據需要鋪滿整個控件,這就需要在控件中均勻分布各行。當需要改變行寬時,改變的是所有的行寬。所以本控件是在計算數據滾動區域高度后,根據需要改變的行寬,重新分布各行,并且相應改變字體大小,以適應新的行寬。

2.3 讀寫配置文件信息

當控件被應用程序首次加載時,根據預留接口可以配置參數信息,包括參數名、參數對應數據顯示上下限、報警值、字體大小、背景色、文本色、行寬、列寬等信息。程序運行后,根據顯示需要,可以動態更改行寬列寬信息,以適應屏幕需要。

為了體現使用控件的便利,這些初步配置信息和更改信息,必須被保存,以供應用程序下次加載控件時自動調用。

3 使用效果

把列表滾動控件集成到遙測數據采集軟件中,列表滾動控件運行良好,占用內存空間少。實時運行過程中,可以動態調整列寬行寬信息,當數據超出報警值,可以顯示報警信息,運行界面如圖3所示。

圖3 列表滾動控件運行效果

在100 ms至6 ms間隔的采集信息測試過程中,數據滾動更新穩定,沒有出現閃爍現象。

4 結 語

基于ActiveX技術的為數眾多的軟件組件都提供了滿足某個規范的一系列編程接口,應用程序可以通過該編程接口使用有軟件組件提供的各種功能,而無需知道這些功能在具體的軟件組件里是如何實現的。雙緩存技術能夠有效的解決數據頻繁刷新引起的屏幕閃爍問題。本軟件就是基于這兩種技術開發出來的,供遙測數據采集軟件調用,測試表明,該軟件運行穩定,能夠滿足實時遙測數據的采集分析。

參考文獻

[1] 任淼,王秀萍.2011年國外空空導彈發展綜述[J].航空兵器,2012(3):3?7.

[2] 樊會濤.空空導彈系統總體設計[M].北京:國防工業出版社,2007.

[3] 李英麗,劉春亭.空空導彈遙測系統設計[M].北京:國防工業出版社,2006.

[4] 安桂生,陳雷.空空導彈靶場遙測接收處理的現狀與發展趨勢[J].航空兵器,2006(3):56?59.

[5] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業出版社,2006.

[6] 方可燕,張雙民,徐振明.Visual C++ 6.0實戰與精通[M].北京:清華大學出版社,2000.

[7] 孫家廣.計算機圖形學[M].北京:清華大學出版社,2003.

[8] 任哲.MFC Windows應用程序設計[M].北京:清華大學出版社,2004.

[9] 劉婷婷,潘彤,陳彬茹.利用雙緩存技術提高繪圖效率[J].電腦編程技巧與維護,2012(18):22?23.

[10] 姜曉峰,李云飛.計算機圖形圖像技術與應用教程[M].北京:北京希望電子出版社,2002.

[11] 周憲英,高成文.光滑不等距插值算法及其在遙測數據處理中的應用[J].現代電子技術,2013,36(18):13?15.

[12] 劉亞南,陳雷,常樹龍,等.遙測數據融合軟件的設計與實現[J].現代電子技術,2012,35(4):136?138.

[13] 王冬冬,李宇,張保祥.基于FPGA與ARM的遙測數據網絡化采集[J].現代電子技術,2011,34(16):89?92.

[14] 常樹龍.空空導彈遙測數據三維實時顯示系統設計與實現[J].現代電子技術,2010,33(4):64?66.

memDC.CreateCompatibleDC(NULL);

memBitmap.CreateCompatibleBitmap(pDC, nWidth,nHeight);

Cbitmap*pOldBitmap=memDC.SelectObjet (&memBitmap);

(3) 先將背景色清除,然后繪圖:

memDC.FillSolidRect(0,0,nWidth,nHeight,

RGB(255,255,255));

memDC.MoveTo(……);

memDC.LineTo(……);

(4) 調用BitBlt在屏幕上顯示設備對象中的更新結果;

(5) 繪圖完畢后,釋放繪圖對象:

memDC.DeleteDC();

memBitmap.DeleteObject();

2.2 運行過程中動態改變列寬、行寬

由于控件不能獨立運行,必須嵌入到某個容器程序中,與該容器一起運行。當某個程序調用控件時,控件的大小可以動態設置,設置后就固定不變。

當需要改變列表控件的列寬時,在鼠標獲得列的焦點后,只需要像ListCtrl控件拖動某列即可改變列的寬度。

而為了運行時界面的美觀,數據需要鋪滿整個控件,這就需要在控件中均勻分布各行。當需要改變行寬時,改變的是所有的行寬。所以本控件是在計算數據滾動區域高度后,根據需要改變的行寬,重新分布各行,并且相應改變字體大小,以適應新的行寬。

2.3 讀寫配置文件信息

當控件被應用程序首次加載時,根據預留接口可以配置參數信息,包括參數名、參數對應數據顯示上下限、報警值、字體大小、背景色、文本色、行寬、列寬等信息。程序運行后,根據顯示需要,可以動態更改行寬列寬信息,以適應屏幕需要。

為了體現使用控件的便利,這些初步配置信息和更改信息,必須被保存,以供應用程序下次加載控件時自動調用。

3 使用效果

把列表滾動控件集成到遙測數據采集軟件中,列表滾動控件運行良好,占用內存空間少。實時運行過程中,可以動態調整列寬行寬信息,當數據超出報警值,可以顯示報警信息,運行界面如圖3所示。

圖3 列表滾動控件運行效果

在100 ms至6 ms間隔的采集信息測試過程中,數據滾動更新穩定,沒有出現閃爍現象。

4 結 語

基于ActiveX技術的為數眾多的軟件組件都提供了滿足某個規范的一系列編程接口,應用程序可以通過該編程接口使用有軟件組件提供的各種功能,而無需知道這些功能在具體的軟件組件里是如何實現的。雙緩存技術能夠有效的解決數據頻繁刷新引起的屏幕閃爍問題。本軟件就是基于這兩種技術開發出來的,供遙測數據采集軟件調用,測試表明,該軟件運行穩定,能夠滿足實時遙測數據的采集分析。

參考文獻

[1] 任淼,王秀萍.2011年國外空空導彈發展綜述[J].航空兵器,2012(3):3?7.

[2] 樊會濤.空空導彈系統總體設計[M].北京:國防工業出版社,2007.

[3] 李英麗,劉春亭.空空導彈遙測系統設計[M].北京:國防工業出版社,2006.

[4] 安桂生,陳雷.空空導彈靶場遙測接收處理的現狀與發展趨勢[J].航空兵器,2006(3):56?59.

[5] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業出版社,2006.

[6] 方可燕,張雙民,徐振明.Visual C++ 6.0實戰與精通[M].北京:清華大學出版社,2000.

[7] 孫家廣.計算機圖形學[M].北京:清華大學出版社,2003.

[8] 任哲.MFC Windows應用程序設計[M].北京:清華大學出版社,2004.

[9] 劉婷婷,潘彤,陳彬茹.利用雙緩存技術提高繪圖效率[J].電腦編程技巧與維護,2012(18):22?23.

[10] 姜曉峰,李云飛.計算機圖形圖像技術與應用教程[M].北京:北京希望電子出版社,2002.

[11] 周憲英,高成文.光滑不等距插值算法及其在遙測數據處理中的應用[J].現代電子技術,2013,36(18):13?15.

[12] 劉亞南,陳雷,常樹龍,等.遙測數據融合軟件的設計與實現[J].現代電子技術,2012,35(4):136?138.

[13] 王冬冬,李宇,張保祥.基于FPGA與ARM的遙測數據網絡化采集[J].現代電子技術,2011,34(16):89?92.

[14] 常樹龍.空空導彈遙測數據三維實時顯示系統設計與實現[J].現代電子技術,2010,33(4):64?66.

主站蜘蛛池模板: 亚洲A∨无码精品午夜在线观看| 亚洲中文精品人人永久免费| 久久久成年黄色视频| 第一页亚洲| 国产精品国产三级国产专业不| 亚洲成年人网| 久操线在视频在线观看| 国产91特黄特色A级毛片| 国产女人在线观看| 国产乱人乱偷精品视频a人人澡| 久久综合九色综合97婷婷| 亚洲天堂成人在线观看| 国产丝袜无码精品| 亚洲性影院| 亚洲午夜久久久精品电影院| 日本一区高清| 在线观看免费国产| 国产成人久久777777| 国产人在线成免费视频| 婷婷亚洲最大| 永久免费无码日韩视频| 日本a级免费| 亚洲av成人无码网站在线观看| 天天干天天色综合网| 精品无码视频在线观看| 国产香蕉在线视频| 亚洲午夜综合网| 老司机久久精品视频| 尤物国产在线| 伊人久久影视| 亚洲欧洲国产成人综合不卡| 国产日韩丝袜一二三区| 91国内视频在线观看| 综合亚洲网| 欧美yw精品日本国产精品| 国产喷水视频| 无码一区二区三区视频在线播放| 亚洲成年人片| 国产偷国产偷在线高清| 亚洲欧美不卡| 亚洲综合经典在线一区二区| 中国精品自拍| 中文字幕伦视频| 99久久精品国产麻豆婷婷| 精品久久777| 成年人久久黄色网站| 亚洲日韩Av中文字幕无码| 色成人综合| 国产精品嫩草影院视频| 香蕉综合在线视频91| 国产成人在线无码免费视频| 亚洲第一中文字幕| 亚洲高清资源| 亚洲欧美日韩中文字幕一区二区三区 | 国产成人a毛片在线| 一级一级特黄女人精品毛片| 国产成人高清在线精品| 欧美日韩一区二区在线播放| 欧美另类视频一区二区三区| 亚洲第一在线播放| 亚洲国产日韩在线观看| 欧美午夜视频在线| hezyo加勒比一区二区三区| 精品伊人久久久久7777人| 中文国产成人久久精品小说| 亚洲国产看片基地久久1024| 老司国产精品视频91| 国产成人精品在线| 免费一级无码在线网站| 小说 亚洲 无码 精品| 亚洲日本一本dvd高清| 青青操视频在线| 人妻无码AⅤ中文字| 国产91线观看| 尤物成AV人片在线观看| 欧洲亚洲欧美国产日本高清| 日韩免费视频播播| YW尤物AV无码国产在线观看| 免费亚洲成人| 91亚洲精选| 国产激爽大片高清在线观看| 久久久久久久蜜桃|