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.

主站蜘蛛池模板: 香蕉伊思人视频| 五月六月伊人狠狠丁香网| 曰韩人妻一区二区三区| 国产成人精品第一区二区| 精品国产自在在线在线观看| 国产日韩欧美黄色片免费观看| 亚洲成网777777国产精品| 欧美激情首页| 欧美色图久久| 国产免费a级片| 国产精品第| 国产综合无码一区二区色蜜蜜| 国产高清在线观看91精品| 九色国产在线| 亚洲日本韩在线观看| 欧美成人日韩| 99无码熟妇丰满人妻啪啪| 少妇精品网站| 亚洲黄网视频| 国产精品大白天新婚身材| 国产本道久久一区二区三区| 精品無碼一區在線觀看 | 好紧好深好大乳无码中文字幕| 亚洲青涩在线| 91丝袜在线观看| 99热这里只有免费国产精品| 久久五月视频| 国产乱人激情H在线观看| 国产精品极品美女自在线网站| 91在线一9|永久视频在线| 亚洲精品制服丝袜二区| 亚洲一区二区三区国产精品 | 99在线视频免费观看| 久久永久免费人妻精品| 免费女人18毛片a级毛片视频| 亚洲精品欧美日韩在线| 亚洲无码日韩一区| 久久毛片免费基地| 国产微拍一区二区三区四区| 国产99视频精品免费视频7| 亚洲 日韩 激情 无码 中出| 在线高清亚洲精品二区| a级毛片免费网站| 国产微拍一区| 免费中文字幕一级毛片| 欧美亚洲国产精品第一页| 在线色综合| 国产成人精品综合| 成人福利在线看| 不卡无码网| 亚洲精品欧美日本中文字幕| 国产乱人视频免费观看| 青青草原偷拍视频| 成人免费视频一区二区三区| 在线一级毛片| 在线a网站| av一区二区无码在线| 婷婷开心中文字幕| 91免费国产高清观看| 亚洲欧美在线综合图区| 色一情一乱一伦一区二区三区小说| 激情综合网激情综合| 国产自无码视频在线观看| 手机成人午夜在线视频| 视频国产精品丝袜第一页| 欧美精品二区| 亚洲一区精品视频在线| 伊人精品视频免费在线| 波多野结衣中文字幕久久| 亚洲欧美另类日本| 看看一级毛片| 欧美第一页在线| 99性视频| 波多野结衣中文字幕一区二区| 亚洲成aⅴ人片在线影院八| 国产成人高精品免费视频| 无码内射中文字幕岛国片| 亚洲高清无在码在线无弹窗| 日本免费a视频| 成人在线欧美| 国产亚洲精久久久久久久91| 国产一级在线播放|