新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MiniGUI的數(shù)字加密電話系統(tǒng)GUI設計

基于MiniGUI的數(shù)字加密電話系統(tǒng)GUI設計

作者: 時間:2011-08-19 來源:網(wǎng)絡 收藏

1.3 用戶界面
需要顯示當前的系統(tǒng)狀態(tài)和具體內(nèi)容,以此進行系統(tǒng)與用戶之間的信息交流,因此對界面的穩(wěn)定性和實時性要求較高。本系統(tǒng)將整個屏幕分為3個區(qū)域,即狀態(tài)區(qū)域、Logo與時間顯示區(qū)域和主顯示區(qū)域,如圖2所示。狀態(tài)顯示區(qū)主要表示當前系統(tǒng)的工作狀
態(tài)和設備的狀態(tài)。比如是掛機態(tài)還是摘機態(tài),是還是非態(tài),是否插入U盤,當前的數(shù)據(jù)傳輸率為多少等。不同的狀態(tài)需要用不同的圖片來顯示。從一個狀態(tài)過渡到另一個狀態(tài),需要用一個動畫來表示。主顯示區(qū)域主要顯示表示當前系統(tǒng)的工作情況的動畫或文字提示。比如表示普通語音電話的動畫、表示正在加密傳輸?shù)膭赢?,也可以顯示其他信息,如系統(tǒng)功能選擇界面、選文件界面、日志管理界面等。Logo及時間顯示區(qū)顯示公司的Logo與當前系統(tǒng)時間。對于本系統(tǒng)的界面來說,最重要的是各種動畫的顯示要流暢。

本文引用地址:http://butianyuan.cn/article/150319.htm

b.jpg



2 實現(xiàn)時存在的兩個問題
本系統(tǒng)的實現(xiàn)問題主要是各種圖片的顯示、動畫和選擇功能界面的實現(xiàn)。圖片的顯示方法很簡單,因此,在下面只介紹動畫和選擇功能界面的實現(xiàn)方法及存在的問題。
2.1 動畫的實現(xiàn)方法及存在的問題
Mini為實現(xiàn)動畫,已提供了animation控件,用animation控件實現(xiàn)動畫的過程非常簡單:
①準備動畫文件,文件格式應該是GIF格式,GIF格式的動畫文件可以用Flash和PhotoShop生成。
②用函數(shù)CreateAnimationFromGIF89aFile()讀入GIF文件。
③用CreateWindow()創(chuàng)建動畫顯示窗口。
④用SendMessage()函數(shù)控制動畫,該函數(shù)的第2個參數(shù)為ANM_STARTPLAY表示啟動動畫,參數(shù)為ANM_PLAYSTOP表示暫停動畫。也可以用函數(shù)SendMessage(GetDlgItem(hInitface,IDC_MAINANIMATION),ANM_SETANIMATION,0,(LPARAM)anim)實現(xiàn)更換動畫文件。但是,在嵌入式環(huán)境下,使用該方法播放動畫時,在狀態(tài)顯示區(qū)和主顯示區(qū)內(nèi)都產(chǎn)生嚴重的抖動現(xiàn)象。而且屏幕越大抖動就越明顯,分辨率為480×640時的抖動現(xiàn)象比240×320時更明顯。減少動畫的幀數(shù)或延長每一幀的播放時間,抖動仍然存在,嚴重影響屏幕的顯示效果。
2.2 功能選擇界面的實現(xiàn)及存在的問題
功能選擇界面一般由多個圖片來組成,各表示不同的系統(tǒng)功能,用上下左右鍵選擇不同的功能,按Enter鍵運行相應程序,即打開另一個窗口,完成相應功能。當關閉窗口時重新顯示功能顯示界面。為區(qū)別被選中功能和未選中功能,放大或下沉顯示當前被選中的功能圖片,而前一個被選中功能圖片恢復成原來的大小,如圖3所示。每次用上下左右鍵選擇功能時和關閉功能窗口時,都要重新刷新背景,并重繪窗口客戶區(qū)的各個圖片。因為不保存被覆蓋區(qū)域的內(nèi)容,因此在MSG_PAINT消息中需要重繪的內(nèi)容較多,重繪圖片的常用方法是用FillB-oxWithBitmap()函數(shù)填充相應圖片區(qū)域,但是這種方法加重了屏幕刷新負載,引起屏幕明顯地閃爍。

c.jpg



評論


相關推薦

技術專區(qū)

關閉