新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MiniGUI的數字加密電話系統GUI設計

        基于MiniGUI的數字加密電話系統GUI設計

        作者: 時間:2011-08-19 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/150319.htm

        b.jpg



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

        c.jpg



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黔西县| 和田市| 休宁县| 轮台县| 乐山市| 武山县| 文成县| 来宾市| 逊克县| 大埔县| 仙居县| 钟山县| 柞水县| 商南县| 通化县| 明水县| 兴国县| 乐安县| 浠水县| 茂名市| 阳江市| 金华市| 奎屯市| 页游| 若尔盖县| 北碚区| 兴安盟| 元江| 登封市| 东乌珠穆沁旗| 鄂温| 成武县| 历史| 渝中区| 延庆县| 寻乌县| 革吉县| 白沙| 嫩江县| 竹溪县| 东莞市|