軟體的“易用性”從何而來?源自於秀外慧中的程式使用者介面。
程式的介面設計經曆了兩個完全不同的時期:第一代是以文本為基礎的簡單互動,如常見的命令列方式、字元型菜單等等,這個時期的程式再介面設計方面基本上很少考慮人的審美需求;第二個時期以圖形、語音化的程式介面為代表,這個時期的程式設計充分地考慮了人對美的需求,在設計思想上,遵循著以人為本的理念。優秀的程式介面,在人與電腦之間架起了一座互動的橋樑。
一、基於控制項的編程
對話方塊、樹、視圖、狀態條、工具條等基本控制項
二、基於圖形的介面編程
通常,使用DirectX編程可以讓程式有強大的圖形特技處理能力,這點從專業的電腦遊戲程式中可以得到確認。不過,在這種能力背後,是以DirectX編程中複雜的專業的代碼為前提的,一般的程式員對DirectX編程是又愛又怕。
作為DirectX的一個組成部分,DirectX Transform(以下也稱轉換器)可以說是DirectX的簡裝本,它兼備功能強大和開發使用簡單這兩方面的優勢。從DircectX Transform的命名可以看出,它是專門用來進行轉換的,轉換器就像一個黑盒子,你並不需要瞭解映像特技顯示的具體技術細節或是具體實現過程,我們只需要將待處理的圖片和即將進行的特技顯示類型告知給轉換器,其他的全部轉換器來自動完成。
三、GDI+程式設計
Windows XP的推出,為我們帶來了全新的使用者介面,這其中最主要的原因是採用了全新的圖形介面引擎:GDI+。使用該圖形系統,圖形和藝術字將具有更平滑的輪廓以及可調整的用真實顏色調和的透明度層級。在調整圖片大小時,圖片的顯示將更加清晰。
GDI+主要是負責對輸出裝置如顯示器和印表機進行管理。GDI+為我們提供了在編程時使用的應用程式介面,通過這些API,GDI+讓程式員在設計程式中不必考慮到具體的顯示器或印表機,直接使用由GDI+提到的類的方法便可以調用顯示器或印表機,真正的做到與裝置無關。
四、基於Office自動化的介面程式設計
對於文本處理、資料的圖形化示範、報表處理,VC在這方面的弱點是有目共睹的。所以,程式員在使用VC進行介面程式開發時,有著許多讓人無可奈何的編程工作。如果在編程中能夠調用其他軟體來做運行結果輸出處理,這樣,就能讓程式員從介面編程的小圈子中跳出來,從而專註於提升應用程式運行效率。
要實現這一目的,只需要利用ActiveX Automation技術就可以輕鬆實現。
在Windows程式開發中,自動化是基於COM(元件物件模型)的技術:它可以使一個應用程式來操縱另外一個程式中的對象,使用該程式提供豐富的功能;或者是一個應用程式通過提供一些對象及對象的方法和屬性來允許另外一個程式使用它提供的各種功能。
五、Windows Shell程式設計
Windows Shell提供了豐富的資源。這些資源不僅包括命令列方式,還包括圖形方式的功能調用。例如資源管理員、電腦管理等包含的各種功能都是Windows Shell的組成部分。所以,利用這些資源來設計系統可以達到良好的效果。Shell資源按照應用方式來劃分,大概可以分為兩類:一是調用Shell資源來構建自己的系統。二是利用Shell提供的機制,對Shell進行擴充。兩種方式經常聯合起來用。
六、使用CJLibrary控制項開發介面程式
CJLibrary提供了開發Outlook、Visual Studio等風格的介面。CJLibrary是MFC的擴充類庫,它對MFC的類庫進行了大量擴充,提供了一套增強類(包含控制項)。利用CJLibrary可以快速、高效的編寫出品質很高的介面程式,比如常見的IE、資源管理員、Outlook、Visual Studio的介面風格。
CJLibrary開放了原始碼,使用者可以對之進行進一步的修改和完善。是少有的介面開發利器。CJLibrary的最新版本是6.09(免費版本),CJLibrary的提供者是www.codejoke.com。目前,codejoke已經提供了更新的介面開發工具:Xtreme Toolkit,是付費版本。