<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 適用于移動終端的GUI設(shè)計與實現(xiàn)

          適用于移動終端的GUI設(shè)計與實現(xiàn)

          作者: 時間:2009-05-07 來源:網(wǎng)絡(luò) 收藏

          要在圖形輸出設(shè)備上繪制圖形,在調(diào)用圖形輸出函數(shù)時,均要求指定經(jīng)初始化的圖形設(shè)備上下文(Device Context,DC),也稱作設(shè)備環(huán)境。設(shè)備上下文是連接應(yīng)用程序、設(shè)備程序以及輸出設(shè)備的紐帶,見圖3。設(shè)備上下文包含許多屬性,當(dāng)需要修改這些屬性時,只需調(diào)用一個GDI函數(shù)修改設(shè)備上下文中屬性的參數(shù)。

          圖3. 設(shè)備上下文

          一個圖形設(shè)備上下文所代表的含義很復(fù)雜,它起碼應(yīng)該包含如下內(nèi)容[5]:

          ? 該設(shè)備上下文本所在設(shè)備信息(顯示模式、色彩深度、顯存布局等等);

          ? 該設(shè)備上下文所代表的窗口以及該窗口被其他窗口剪切的信息

          ? 該設(shè)備上下文的基本操作對象(筆、刷子、字體、位圖、區(qū)域等),及其上下文信息;

          ? 由程序設(shè)定的局部信息(繪圖屬性、映射關(guān)系和局部剪切域等)。

          2.2.2 繪圖函數(shù)

          設(shè)備上下文的屬性決定了有關(guān)繪圖函數(shù)如何工作的細(xì)節(jié)。通過繪圖函數(shù)應(yīng)用程序能夠方便地畫出直線、矩形、圓、橢圓和其它復(fù)雜圖形,而不需直接與具體的輸出設(shè)備打交道。

          2.2.3使用GDI對象的函數(shù)

          當(dāng)調(diào)用繪圖函數(shù)時,使用當(dāng)前設(shè)備上下文中選擇的GDI對象來進(jìn)行繪圖。GDI共有筆、刷子、字體、位圖、區(qū)域和邏輯調(diào)色板六個對象。

          例如可以通過在CreatePen、 CreatePenIndirect或ExtCreatePen函數(shù)中指定這些特征來建立一個邏輯畫筆,這些函數(shù)傳回一個邏輯畫筆的句柄。要使用這個畫筆,就要用SelectObject將畫筆句柄選進(jìn)設(shè)備內(nèi)容。這樣,畫任何線都使用這個畫筆,然后可以取消設(shè)備內(nèi)容中的畫筆選擇,并清除畫筆對象。清除畫筆對象是必要的,因為畫筆定義占用了分配的內(nèi)存空間。

          除了畫筆以外,GDI對象還用于建立填入封閉區(qū)域的畫刷、字體、位圖以及GDI的其它一些方面。

          2.3 消息隊列
          產(chǎn)生的消息主要包括:按鍵事件消息、協(xié)議棧消息及自定義消息等。按鍵一般有12個標(biāo)準(zhǔn)電話按鍵、左右2個軟鍵、5個導(dǎo)航鍵(上、下、左、右、中) 、撥號鍵和掛機鍵,由此可產(chǎn)生對應(yīng)的短按鍵及長按鍵消息。按鍵的按下及釋放產(chǎn)生按鍵事件,對比鍵碼表對按鍵事件進(jìn)行解碼,獲取正確的按鍵消息。按鍵消息經(jīng)消息過濾后送往當(dāng)前焦點窗口。GSM 協(xié)議棧消息是由手機平臺產(chǎn)生的送往消息隊列的協(xié)議棧消息,主要是網(wǎng)絡(luò)事件及手機狀態(tài)的響應(yīng)消息,包括所有對SIM卡、網(wǎng)絡(luò)狀態(tài)、通話、短消息等的響應(yīng)消息。協(xié)議棧消息需傳送到賦于系統(tǒng)窗口屬性的窗口,但窗口并不需要對每一項協(xié)議棧消息進(jìn)行處理,只依據(jù)窗口函數(shù)的具體屬性定義進(jìn)行消息響應(yīng)。

          采用消息機制,把上面這些消息收集在一個消息隊列中,然后將這些消息連同定時器和重畫消息一起放入應(yīng)用程序消息隊列中。應(yīng)用程序消息隊列是屬于各個應(yīng)用程序所有的先進(jìn)先出隊列。但是定時器消息和重畫消息保留在隊列中直到應(yīng)用程序處理完所有其它消息后才予以處理。將屬于一個特定應(yīng)用程序的消息放入該應(yīng)用程序的消息隊列中,然后應(yīng)用程序讀取這些消息,并將它們發(fā)送給相應(yīng)的窗口函數(shù)。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();