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.

主站蜘蛛池模板: 日韩不卡高清视频| 97综合久久| 欧美特级AAAAAA视频免费观看| 国产手机在线ΑⅤ片无码观看| 成人亚洲国产| 六月婷婷综合| 国产成人91精品免费网址在线| 国产视频你懂得| 五月激情综合网| 精品成人免费自拍视频| 另类专区亚洲| julia中文字幕久久亚洲| 日本中文字幕久久网站| 亚洲欧美综合在线观看| 日韩一级毛一欧美一国产| 国产高清免费午夜在线视频| 99re免费视频| a毛片免费看| 亚洲一级毛片免费看| 一本大道无码高清| 国产精品偷伦视频免费观看国产| 精品国产一二三区| 99视频只有精品| 波多野结衣一区二区三区88| 99精品视频九九精品| 67194在线午夜亚洲| 黑人巨大精品欧美一区二区区| 97在线免费视频| 99久久精品免费看国产电影| 伊人中文网| 老司机精品久久| 午夜视频www| 亚洲天堂久久久| 亚洲日韩国产精品无码专区| 国产欧美日韩免费| 亚洲v日韩v欧美在线观看| 欧美成人精品一区二区| 午夜精品久久久久久久无码软件| 成人在线亚洲| 久久无码免费束人妻| 欧美第二区| 亚洲午夜国产精品无卡| 日韩精品免费一线在线观看| 欧美不卡二区| 香蕉久久国产超碰青草| 国产簧片免费在线播放| 欧美视频免费一区二区三区| 丰满少妇αⅴ无码区| 国产黄色视频综合| 亚洲人成影视在线观看| 欧美日韩激情| 日韩午夜片| 免费A∨中文乱码专区| 久久综合色播五月男人的天堂| 国产精品网址在线观看你懂的| 91网站国产| 欧美综合一区二区三区| 无码免费视频| 国产大片喷水在线在线视频| 亚洲精品大秀视频| 欧美国产综合色视频| 曰韩人妻一区二区三区| 在线a网站| 亚洲无限乱码| 91娇喘视频| 亚洲中文字幕23页在线| 亚洲无码A视频在线| 亚洲手机在线| 亚洲美女高潮久久久久久久| 免费观看亚洲人成网站| 波多野结衣无码AV在线| 成人久久精品一区二区三区| 国产女人在线视频| 久久五月天国产自| 亚洲欧洲美色一区二区三区| 香蕉久人久人青草青草| 天堂av高清一区二区三区| 久久精品亚洲专区| 欧美亚洲欧美| 69综合网| 欧美激情综合| 国产综合在线观看视频|