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Ⅴ片在线| 亚洲一级无毛片无码在线免费视频| 国产福利不卡视频| 99久久这里只精品麻豆 | 男女性色大片免费网站| 久久人搡人人玩人妻精品| 福利视频一区| 午夜视频免费试看| 在线免费a视频| 精品国产网站| 亚洲视频四区| 思思99思思久久最新精品| 亚洲国产精品不卡在线| 国产伦片中文免费观看| 在线观看免费国产| 欧美在线精品怡红院| 成人午夜免费观看| 亚洲Aⅴ无码专区在线观看q| 91在线中文| 久久国产拍爱| 久久人妻xunleige无码| 国产全黄a一级毛片| 狠狠亚洲婷婷综合色香| 国产原创演绎剧情有字幕的| 亚洲欧美一区二区三区图片| 国产99热| 精品久久综合1区2区3区激情| 999国产精品| 欧美h在线观看| 亚洲区第一页| 91色在线观看| 波多野结衣一区二区三区四区 | 天天婬欲婬香婬色婬视频播放| 国产传媒一区二区三区四区五区| 麻豆精品国产自产在线| 香蕉视频在线精品| julia中文字幕久久亚洲| 四虎亚洲精品| 国产精品男人的天堂| 91精品aⅴ无码中文字字幕蜜桃| 色有码无码视频| 国产精品第5页| 欧美视频在线观看第一页| 在线播放国产99re| 香港一级毛片免费看| 成人综合久久综合| 国产va在线观看免费| www.av男人.com| 免费激情网址| 欧美a在线视频| 九色91在线视频| 六月婷婷激情综合| 久久天天躁夜夜躁狠狠| 波多野结衣一区二区三区AV| 国产黑丝视频在线观看| 久久永久视频| 亚洲天堂色色人体| 亚洲色中色| 国产欧美视频综合二区| 久草视频精品| 久久香蕉国产线看精品| 九九九精品成人免费视频7| 91免费在线看| 操国产美女| 国产成人精品一区二区三区| 久久一日本道色综合久久| 久久久受www免费人成| 成人在线天堂| 五月激情婷婷综合| 狼友视频一区二区三区| 超清无码一区二区三区| 理论片一区| 国内精品免费| 亚洲天堂久久久| 日韩欧美综合在线制服| AV网站中文| 国产亚洲精品自在线| 激情无码字幕综合| 国产精品一区在线观看你懂的| 啦啦啦网站在线观看a毛片| 日韩欧美中文在线| 在线国产毛片|