Windows最初由Microsoft公司在
年
月宣布
年
月推出了第一公開發行版本
即
版
此後兩年
版進行了幾次修改以滿足國際市場的需求
並增減了一些顯示器和打印機的驅動程序
年
月發行的Windows
版在用戶界面上做了些改進
例如
重疊式窗口的引入
還增強了鍵盤和鼠標接口
特別是增強了選單和對話框的功能...(略)
用戶界面的構件 窗口 窗口是屏幕上與一個應用程序相關的矩形區域
它是用戶與產生該窗口的應用程序之間的可視界面
對應用程序來說
窗口是應用程序控制下的屏幕上的一個矩形區域
應用程序創建並控制窗口的所有方面
當用戶啟動一個應用程序時
一個窗口就被創建
每當用戶操作窗口中的對象時
程序就有所響應
邊框 絕大多數窗口都有一個環繞著它的邊框
邊框不僅作為窗口的邊界
它也用來指明窗口的狀態
即窗口是否是一個活動窗口
當我們將鼠標指針放在邊框上按下鼠標鍵並移動鼠標時
就可以改變窗口的大小
標題欄 標題欄位於窗口的頂部
其中顯示的文本信息用於標注程序
一般是應用程序的名字
這便於用戶知道哪個應用程序正在運行
標題欄的顏色反映一個窗口是否是一個活動窗口
控制框 控制框是每個窗口左上方的小圖片
每個應用程序都使用它
在控制圖標上單擊鼠標鍵會使Windows顯示系統菜單
系統菜單它提供了諸如還原
移動
大小
最小化
最大化以及關閉這樣的標准操作
最小化圖標 每個Windows
及Windows NT應用程序都在窗口的右上角顯示三個圖標
最左邊的圖標是一段短下劃線
這就是最小化圖標
它可以使用程序被最小化
最大化圖標 最大化圖標是三個圖標中中間的那一個
看起來象兩個小窗口
使用最大化圖標可以使用應用程序占滿整個屏幕
如果選擇了這個圖標
其它應用程序窗口都會被蓋住
垂直滾動條 如果有必要
應用程序可以顯示一個垂直滾動條
垂直流動條顯示在應用程序窗口的右邊
在兩端有兩個方向相反的箭頭
它還有一個著色的棒和一個透明的窗口塊
後者被用於顯示當前顯示內容與整個文檔的關系
你可以用滾動條來選擇顯示哪一頁
一般在任何一個箭頭上單擊一下會使顯示內容移動一行
單擊向上箭頭下方的窗口塊並拖動它會使屏幕輸出快速更新到應用程序屏幕輸出的任意位置
水平滾動條 也可以顯示一個水平滾動條
水平滾動條顯示在窗口的底部
具有與垂直滾動條類似的功能
你用它來選擇 要顯示哪些列
一般在任何一個箭頭上單擊一個會使顯示內容移動一列
單擊向左箭頭右邊的窗口塊並拖動它會使屏幕輸出快速更新到應用程序屏幕輸出的任意位置
選單欄 一個可選擇的菜單條可以顯示在標題條的下方
通過菜單條來選擇菜單和子菜單
這種選擇可以通過用鼠標單擊
也可以用熱鍵組合來實現
熱鍵組合經常是ALT與命令中帶下劃線的字母的組合
比如File命令中的
F
用戶區 通常用戶區占據了窗口最大的部分
這是應用程序的基本輸出區域
應當由應用程序來復雜管理用戶區
另外
應用程序可以輸出到用戶區
面向對象的思維方法 對於程序員來說
面向對象意味著非常熟悉的事物
將世界看成是一組彼此相關並相互通信的實體即對象組成
每個對象有一個名字來標識
這是人們通常看待世界的方式
例如
當看見一輛汽車時
所見到的是一輛汽車
而不是一大堆原子
人們可以將汽車分解為車輪
發動機
車門
油箱等
它們都是具體的實體即對象
對象之間的通信被稱為發送消息
即一個對象請求另一個對象執行某種方式的操作
例如
交叉路口的紅燈
請求
駕駛員停車
駕駛員在接受到消息之後
他所執行的動作是踏下制動踏板
這有向汽車發送了一條消息
汽車在接受到此消息之後
又將該消息分解之後發送到相關的對象上
制動器作用於車輪上
將動能轉變成為勢能
使車速降下來
尾燈又向它後面的其它車輛的駕駛員發送消息
各種儀表盤向駕駛員反饋出所發送的消息的動作結果
從程序員角度而言
對象是內存中一塊有名的存儲單元
我們通常所謂的變量就是一種數據對象
但對象的概念比變量的含義更廣義
通常將對象定義成為包含有數據和代碼的內存區域
數據表征對象的特征
而代碼用於響應消息
使對象進行某些動作
從屏幕上顯示的一個可視的窗口對象為例
我們可以對比分析一下用戶心目中的對象和程序員心目中的對象的關系
窗口對象的特征
例如顏色
長度
其中顯示的信息等
在程序中被表示為數據
用戶對窗口對所做的操作
例如移動窗口
改變窗口的大小等
使得用戶向窗口發送了消息
這些消息引起了計算機(內存中的)對象執行相應的代碼
代碼執行的結果改變了對象中的數據
使對應的可以視對象 的位置和大小發生了變化
對象為響應消息所執行的代碼被稱為方法
對象中保存的數據構成對象的屬性
對象的抽象定義就是執行某些動作
否則
沒有其它途徑可以使一個對象動作起來
向一個對象發送消息在程序中表示為
functionName(id
arg
arg
);
其中
消息是functionName
id是標識對象的一個對象名
或稱其為對象的標識符
Windows使用某種類型的 數據來作為對象的標識符
這個標識符號常被稱為對象的句柄
arg
等為消息所帶的參數
雖然發消息類似於標准的函數調用
但消息也有函數調用中沒有的特性
例如
消息始終在執行一選擇機制
其參數與其它消息區別開來
從而告訴該對象完成什麼樣的操作
一個函數名始終指向內存中該函數的代碼所位於的確定地址
消息並不指向內存中的某地址
但卻告訴接受消息的對象要引用的內存地址是什麼
函數不僅說明操作
而且還要執行如何完成該操作的方法
消息只說明該操作
在對象中定義的方法說明如何完成該操作
當向不同的對象發送相同的消息時
所執行的方法是不同的
在面向對象的程序設計中
每個對象由一個類來定義
類是對一組性質相同的對象的程序描述
它是由概括了一組對象共同性質的方法和數據組成
從一組對象中抽象出公共的方法與數據
將它們保存在一個類中是面向對象程序設計的核心
在日常生活中
我們也以類這種方式來定義客觀對象
通過對客觀對象進行抽象
我們將性質相同的對象歸為一類
形成概念
例如
人類
蘋果類
食品類等
通過對客觀對象分類
我們也可以更好地認識客觀對象
例如
當知道張三是一個人時
不用對張三進行更多的描述
我們已知道張三作為一個人所具有的特征和行為
因為它們已經在
人
類中進行了描述
在面向對象的程序中
類被用作樣板來生產具有相同行為方式的對象
類就像是生產對象的一個工廠
在生產對象時
對象具有類中所描述的同樣的數據結構和方法
同時
對象的每個數據在創立之初取得一個初始值
形成對象的初始狀態
對象通過發送消息相互作用
對象的狀態從一種狀態過渡到另一種狀態
當所有的有關對象到達某種特定的狀態時就得程序的運行結果
使用類產生對象的過程也稱為生成該類的一個實例
因此
對象也可以定義為對象是類的一個實例
定義類也意味著將該類的對象公用代碼放在內存的公共區域中
而不必對每個對象都將它們的代碼和數據重新進行一次描述
這減輕了程序員的勞動強度
我們可以將一些常用對象定義放在一個公用庫中
而在程序中需要該類的一個對象時
就創建該類的一個實例
Windows已為程序員預定義了許多像按鈕
滾動槓和對話框等對象的類
當程序員需要這些類的對象時
僅需創立該類的實例即可
對於同一個類的不同對象
在建立對象時其初始狀態不同
因而這些對象在屏幕上顯示的位置
大小等屬性也不相同
但同類的對象的操作是相同的(因為它們共用相同的方法)
這也就是為什麼不同的Windows應用程序對用戶表現出一致的操作特性的原因之一
From:http://tw.wingwit.com/Article/Common/201311/4982.html