[翻譯]-WinCE 程序設計 (3rd 版)--第2章 屏幕繪圖--概述

第2章 屏幕繪圖
概述
在第1章,示例程序HelloCE完成一項工作:在屏幕上顯示一行文字。顯示這行文字只需要調用一次DrawText即可,因爲Windows CE代爲處理了很多細節,例如字體、字體顏色、文本行在屏幕上的位置等等。藉助圖形用戶接口的力量,應用程序不只能在屏幕上輸出本文行,還能做更多的事情。應用程序可以繪製出非常精細的顯示外觀。

縱觀微軟Windows操作系統,用於繪製屏幕的函數數量發生了巨大的擴展。Windows每個後續的版本里,都增加了許多函數以擴展程序員可以使用的工具集。雖然新函數增加了,但舊函數依然被保留,這樣即使有舊函數被新函數取代,舊程序依然可以繼續運行在新版本的Windows上。這種函數不斷堆積,舊函數被保留以向後兼容的策略,在最初的Windows CE版本里卻被廢棄了。因爲需要製作更小版本的Windows,CE團隊苦覽Win32 API,並只複製適合Windwos CE目標市場的應用程序絕對需要的API。

這種精簡對Win32 API影響最大的領域之一就是圖形函數。到不是您會缺乏用於工作的函數,只是在Win32 API的冗餘度方面,對圖形函數做了教大的精簡。程序員面臨的新挑戰之一就是不同的Windows CE平臺支持略微不同的API集合。Windows CE圖形功能與桌面系統不同之處,其中之一就是Windows CE不支持不同的映射模式,而這在其他Windows系統裏是支持的。Windows CE設備環境始終設置爲MM_TEXT映射模式。座標轉化在Windows CE下也不支持。雖然這些特性在一些類型的應用中很有用,但在小型便攜式設備的Windows CE環境裏,這些需求並不突出。所以當你閱讀本章裏使用的函數和技術時,請記住其中一些可能不能在所有平臺上被支持。通過GetDeviceCaps函數,程序可以判斷系統支持什麼函數。GetDeviceCaps返回當前圖形設備的實際能力。貫穿本章始末, 當判定在目標設備上什麼函數被支持時,我會談到GetDeviceCaps函數的。

像書中第一部分裏其它章節一樣,本章回顧Windows CE所支持的繪畫功能。需要記住的最重要的事情之一是雖然Windows CE不支持全部Win32 圖形API,但它的快速發展使它可以支持一些Win32裏最新的函數--其中一些非常新,可能您對它們都不熟悉。本章將爲您展示您可以使用的函數以及如何在這個有一些函數不被Windows CE支持的領域裏工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章