?? 新編winapi參考大全.txt
字號(hào):
系統(tǒng)Shell提供了一些控制,使用這些控制可以使窗口具有與眾不同的外觀。由于這些
控制是由DLL支持的,是操作系統(tǒng)的一部分,所以它們對(duì)所有的應(yīng)用程序都可用。使用通用
控制有助于使應(yīng)用程序的用戶界面與系統(tǒng)Shell及其他應(yīng)用程序保持一致。由于開發(fā)一個(gè)控
制需要花費(fèi)一定的時(shí)間,所以直接使用通用控制也可以節(jié)省大量的開發(fā)時(shí)間。
通用控制是由通用控制庫COMCTL32.DLL支持的一個(gè)控制窗口集。與其他控制一樣,一
個(gè)通用控制也是應(yīng)用程序的一個(gè)子窗口,它與其他窗口聯(lián)合使用,完成I/O操作。通用控制
DLL包括一個(gè)編程接口,應(yīng)用程序可使用其中的函數(shù)創(chuàng)建和管理控制。以及從控制中接受用
戶輸入。
1.2.3 Shell特性
Win32 API中包含一些接口和函數(shù),應(yīng)用程序可使用它們來增強(qiáng)系統(tǒng)Shell的各方面功
能。
一個(gè)名字空間是一個(gè)符號(hào)集合,比如文件和目錄名字,或數(shù)據(jù)庫關(guān)鍵字。Shell使用一
個(gè)單層結(jié)構(gòu)的名字空間來組織用戶關(guān)心的所有對(duì)象,包括文件、存儲(chǔ)設(shè)備、打印機(jī)及網(wǎng)絡(luò)資
源。名字空間類似于文件系統(tǒng)的目錄結(jié)構(gòu),只不過名字空間中包含的是對(duì)象,而不是文件和
目錄。
快捷鍵(也稱為一個(gè)Shell連接)是一個(gè)數(shù)據(jù)對(duì)象,它包含的信息可用于訪問位于Shell
名字空間的任何位置的其他對(duì)象。使用快捷鍵時(shí),應(yīng)用程序不必知道對(duì)象的當(dāng)前名字和位置
就可以訪問該對(duì)象。可以通過快捷鍵訪問的對(duì)象包括文件、文件夾、磁盤驅(qū)動(dòng)器、打印機(jī)及
網(wǎng)絡(luò)資源。
有幾種方法可以擴(kuò)展Shell。系統(tǒng)使用圖標(biāo)來表示Shell名字空間中的文件。缺省情況
下,系統(tǒng)對(duì)具有相同文件擴(kuò)展名的所有文件都顯示相同的圖標(biāo)。可以用一個(gè)圖標(biāo)句柄來改變
某特殊文件的缺省圖標(biāo)。使用上下文相關(guān)菜單句柄可以修改一個(gè)上下文相關(guān)菜單的內(nèi)容,這
也是一種Shell擴(kuò)展。當(dāng)用戶用鼠標(biāo)右鍵點(diǎn)擊或拖動(dòng)一個(gè)對(duì)象時(shí),系統(tǒng)會(huì)顯示一個(gè)上下文相
關(guān)菜單。該上下文相關(guān)菜單中所包含的命令只應(yīng)用在被點(diǎn)擊或拖動(dòng)的對(duì)象上。大多數(shù)上下文
相關(guān)菜單都包含一個(gè)Properties命令,用于顯示所選中項(xiàng)目的屬性表。一個(gè)屬性表由一系
列重疊的窗口組成(每個(gè)窗口稱為一頁),用于顯示有關(guān)某個(gè)對(duì)象的信息。屬性表句柄是一
種Shell擴(kuò)展,使用它可以向系統(tǒng)定義的屬性表中添加頁,或替換控制面板的屬性表的某些
頁。一個(gè)拷貝掛鉤(Hook)句柄是一種 Shell擴(kuò)展,可以允許或拒絕對(duì)一個(gè)文件對(duì)象的移
動(dòng)、拷貝、刪除或重命名。
系統(tǒng)Shell包含一個(gè)快速查看(Quick View)命令,使用戶可以直接查看一個(gè)文件的內(nèi)
容.而不必運(yùn)行創(chuàng)建該文件的應(yīng)用程序。文件瀏覽器提供了一個(gè)用于查看文件的用戶界面。
Shell使用文件擴(kuò)展名來確定應(yīng)運(yùn)行哪個(gè)瀏覽器。你可以為新的文件格式提供文件瀏覽器,
或用具有更強(qiáng)功能的瀏覽器來替換原來的瀏覽器。文件瀏覽器與文件分析器聯(lián)合使用,后者
的功能是對(duì)文件名進(jìn)行分析,以便確定應(yīng)生成哪種類型文件的 QUck View。你還可以提供其
他的文件分析器來支持新的文件類型。
1.2.4 圖形設(shè)備接口
圖形設(shè)備接口(GDI)提供了一系列的函數(shù)和相關(guān)的結(jié)構(gòu),應(yīng)用程序可以使用它們在顯
示器、打印機(jī)或其他設(shè)備上生成圖形化的輸出結(jié)果。使用GDI函數(shù)可以繪制直線、曲線、閉
合圖形、路徑、文本以及位圖圖像。所繪制的圖形的顏色和風(fēng)格依賴于所創(chuàng)建的繪圖對(duì)象,
即畫筆、筆刷和字體。你可以使用畫筆來繪制直線和曲線,使用筆刷來填充閉合圖形的內(nèi)部,
使用字體來書寫文本。
應(yīng)用程序通過創(chuàng)建設(shè)備環(huán)境(DC),可以直接向指定的設(shè)備進(jìn)行輸出。設(shè)備環(huán)境是一個(gè)
GDI管理的結(jié)構(gòu)。其中包含一些有關(guān)設(shè)備的信息,比如它的操作方式及當(dāng)前的選擇。應(yīng)用程
序可使用設(shè)備環(huán)境函數(shù)來創(chuàng)建DC。GDI將返回一個(gè)設(shè)備環(huán)境句柄,在隨后的調(diào)用中,該句柄
用于表示該設(shè)備。例如,應(yīng)用程序可以使用該句柄來獲取有關(guān)該設(shè)備性能的一些信息,諸如
它的類型(顯示器、打印機(jī)或其他設(shè)備),它的顯示界面的尺寸和分辨率等。
應(yīng)用程序可以直接向一個(gè)物理設(shè)備進(jìn)行輸出,比如顯示器或打印機(jī);也可以向一個(gè)“邏
輯”設(shè)備進(jìn)行輸出,比如內(nèi)存設(shè)備或元文件。邏輯設(shè)備向應(yīng)用程序所提供的保存輸出結(jié)果的
格式,可以很容易地將其發(fā)送到物理設(shè)備上。一旦應(yīng)用程序?qū)⑤敵鼋Y(jié)果記錄到了一個(gè)元文件
中,那么該元文件就可以被使用任意多次,并且該輸出結(jié)果可以被發(fā)送到任意多個(gè)物理設(shè)備
上。
應(yīng)用程序可以使用屬性函數(shù)來設(shè)置設(shè)備的操作方式和當(dāng)前的選擇。操作方式包括文本和
背景顏色,混色方式(也稱為二元光柵操作,用于確定畫筆或筆刷的顏色與繪圖區(qū)域現(xiàn)有的
顏色如何進(jìn)行混色),映射方式(用于指定GDI如何將應(yīng)用程序所用的坐標(biāo)映射到設(shè)備坐標(biāo)
系統(tǒng)上)。當(dāng)前的選擇是指繪圖時(shí)使用哪個(gè)繪圖對(duì)象。
圖形設(shè)備接口函數(shù)包括以下幾類:
位圖函數(shù)(Bltmap)
位圖是一個(gè)圖形對(duì)象,可將圖像作為文件進(jìn)行創(chuàng)建、處理(比例縮放、滾動(dòng)、旋轉(zhuǎn)和繪
制)和存儲(chǔ)。
位圖函數(shù)提供了一系列處理位圖的方法。
筆刷函數(shù)(Brush)
筆刷是一種繪圖工具,Win32應(yīng)用程序可使用它繪制多邊形、橢圓形和路徑的內(nèi)部。繪
圖應(yīng)用程序使用筆刷繪制圖形;字處理應(yīng)用程序使用筆刷繪制水線;計(jì)算機(jī)輔助設(shè)計(jì)(CAD)
應(yīng)用程序使用筆刷繪制截面視圖的內(nèi)部;電子表格應(yīng)用程序使用筆刷繪制餅圖的扇形和直方
圖的方條。筆刷函數(shù)提供了一系列創(chuàng)建和使用筆刷的方法。
剪裁函數(shù)(Clipping)
剪裁是一種處理過程,它將輸出到某個(gè)區(qū)域或路徑中的內(nèi)容限制在應(yīng)用程序窗口的顯示
區(qū)內(nèi)。剪裁函數(shù)提供了一系列處理剪裁區(qū)域的方法。
顏色函數(shù)(Color)
顏色是組成Win32應(yīng)用程序所生成的圖片和圖像的一個(gè)重要元素。 Win32 API提供了
一系列管理和使用畫筆、筆刷、文本和位圖的顏色的函數(shù)。
坐標(biāo)空間及映射函數(shù)(Coordinate Space and Transformation)
Win32應(yīng)用程序使用坐標(biāo)空間和映射函數(shù)對(duì)輸出的圖形進(jìn)行比例縮放、旋轉(zhuǎn)、轉(zhuǎn)換、剪
裁和反射。
坐標(biāo)空間是基于笛卡爾坐標(biāo)系統(tǒng)的一個(gè)平面空間。該坐標(biāo)系統(tǒng)要求有兩個(gè)垂直相交的、長度
相等的坐標(biāo)軸。共有4種坐標(biāo)空間:現(xiàn)實(shí)坐標(biāo)、頁面坐標(biāo)、設(shè)備坐標(biāo)、物理設(shè)備坐標(biāo)(顯示
區(qū),或桌面,或打印紙的頁面)。映射方式就是改變(“映射”)對(duì)象的大小、方向和形狀的
一種算法。
設(shè)備環(huán)境函數(shù)(Device Context)
設(shè)備環(huán)境是一個(gè)結(jié)構(gòu),它定義了一系列圖形對(duì)象及其相關(guān)的屬性,以及會(huì)影響輸出結(jié)果
的繪圖方式。這些圖形對(duì)象包括:畫筆(用于畫直線),筆刷(用于繪圖和填充),位圖(用
于屏幕的拷貝或滾動(dòng)),調(diào)色板(用于定義可用的顏色集),剪裁區(qū)(用于剪裁和其他操作),
路徑(用于繪圖和畫圖操作)。設(shè)備環(huán)境函數(shù)用于對(duì)設(shè)備環(huán)境進(jìn)行創(chuàng)建、刪除或獲取信息。
填充圖形函數(shù)(Filled Shape)
填充圖形是一些幾何圖形,其輪廓由當(dāng)前的畫筆繪制,內(nèi)部由當(dāng)前的筆刷填充。共有5
種填充圖形:橢圓,弦圖,餅圖,多邊形,矩形。填充圖形函數(shù)用于對(duì)填充圖形進(jìn)行操作。
字體和文本函數(shù)(Font and Text)
字體用于在視頻顯示器或其他輸出設(shè)備上繪制文本。Win32 API提供了一系列用于安裝、
選擇和查詢各種字體的字體和文本函數(shù)。
ICM 2.0函數(shù)
Microsoft Windows 98和Windows NT 5.0所使用的顏色管理方案稱為 Image Color
Management版本 2.0,或ICM2.0,由一系列函數(shù)組成。
直線和曲線函數(shù)(Line and Curve)
直線和曲線用于在光柵設(shè)備上繪制輸出圖形。一條直線是光柵顯示器上的一系列高亮像
素點(diǎn)(或打印紙上的一系列點(diǎn)),由兩個(gè)點(diǎn)進(jìn)行標(biāo)識(shí):起點(diǎn)和終點(diǎn)。一條規(guī)則曲線也是光柵
顯示器上的一系列高亮像素點(diǎn)(或打印紙上的一系列點(diǎn)),符合某個(gè)二次曲線段的周界(或
一部分)。不規(guī)則曲線則是由不符合二次曲線段的一系列像素點(diǎn)組成。
元文件函數(shù)(Metafile)
元文件是一個(gè)結(jié)構(gòu)的集合,這些結(jié)構(gòu)是以與設(shè)備無關(guān)的格式存儲(chǔ)圖像。設(shè)備無關(guān)是元文
件與位圖的差異之一。與位圖不同,元文件保證是與設(shè)備無關(guān)的。不過,元文件有一個(gè)缺點(diǎn):
它通常比位圖的繪圖速度慢。因此,如果一個(gè)應(yīng)用程序要求有較快的繪圖速度,而不需要具
有設(shè)備無關(guān)性,則應(yīng)該用位圖代替元文件。
元文件函數(shù)提供了一些對(duì)元文件進(jìn)行操作的方法。
多顯示器支持函數(shù)(Multple Display Monltors)
每個(gè)Windows工作站所支持的顯示器個(gè)數(shù)是不受限制的。可以用創(chuàng)建鄰接區(qū)域的方式安
排多個(gè)顯示器。每個(gè)顯示器的大小和顏色深淺都可以獨(dú)立設(shè)置。
所有的顯示器屏幕一起構(gòu)成了一個(gè)虛擬屏幕。桌面窗口覆蓋整個(gè)虛擬屏幕,而不僅僅是
某個(gè)顯示屏幕。由于現(xiàn)有的應(yīng)用程序都要求顯示器具有一個(gè)原點(diǎn)坐標(biāo)(0,0),所以虛擬屏
幕必須在某個(gè)顯示器上包含原點(diǎn)坐標(biāo)(0,0),這個(gè)顯示器就被看作是主顯示器。
每個(gè)物理顯示設(shè)備都由一個(gè)HMONITOR類型的顯示器句柄表示。一個(gè)顯示器在它的整個(gè)
生存期間具有相同的HMONITOR值。
任何顯示設(shè)備環(huán)境(DC)的Win32函數(shù)所返回的值都是主顯示器的DC。要想獲取其他
顯示器的DC,可使用EnumDisplayMonitors函數(shù)。系統(tǒng)對(duì)每個(gè)顯示器調(diào)用回調(diào)函數(shù),為該
顯示器傳入一個(gè)DC值。用戶可以使用該DC在該顯示器上繪圖。
繪圖和畫圖函數(shù)(Painting and Drawing)
繪圖和畫圖函數(shù)為應(yīng)用程序提供了一系列在窗口中繪圖的方法,以及如何創(chuàng)建和使用顯
示設(shè)備環(huán)境(DC)的方法。
路徑函數(shù)(Path)
一個(gè)路徑是指一個(gè)或多個(gè)被填充、被繪制輪廓或既被填充又被繪制輪廓的圖形(或形
狀)。Win32應(yīng)用程序?qū)⒙窂接米骱芏嘤猛荆诶L圖和畫圖應(yīng)用程序中使用路徑。計(jì)算機(jī)輔
助設(shè)計(jì)(CAD)應(yīng)用程序用路徑來創(chuàng)建唯一剪裁區(qū),繪制不規(guī)則形狀的輪廓,以及填充不規(guī)
則形狀的內(nèi)部。路徑函數(shù)用于創(chuàng)建、改變和繪制路徑。
畫筆函數(shù)(Pen)
畫筆是Win32應(yīng)用程序用于繪制直線和曲線的圖形工具。畫圖應(yīng)用程序使用畫筆來畫手
畫線、直線以及曲線。計(jì)算機(jī)輔助設(shè)計(jì)(CAD)應(yīng)用程序用畫筆來畫可見線、隱藏線、截面
線、中心線等等。字處理和桌面出版應(yīng)用程序用畫筆來畫邊界和水線。電子表格應(yīng)用程序用
畫筆來指明圖表的趨向,以及勾勒直方圖和餅圖的輪廓。畫筆函數(shù)提供了一系列使用畫筆的
方法。
打印和打印假脫機(jī)函數(shù)(Printing and Print Spooler)
Microsoft Windows和Windows NT提供了一套完整的函數(shù),使應(yīng)用程序可以在不同的
設(shè)備上進(jìn)行打印,如激光打印機(jī),向量繪圖儀,光柵打印機(jī),以及傳真機(jī)等。
矩形函數(shù)(Rectangle)
Win32應(yīng)用程序使用矩形來指定顯示屏幕上或窗口中的一個(gè)矩形區(qū)域。矩形函數(shù)用于對(duì)
矩形進(jìn)行操作。
區(qū)域函數(shù)(Region)
區(qū)域是指一個(gè)可被填充、著色、轉(zhuǎn)換和加外框的形狀,包括矩形、多邊形或橢圓(或這
幾種形狀的組合),用于完成擊鍵測試(測試光標(biāo)位置)。
區(qū)域函數(shù)用于對(duì)區(qū)域進(jìn)行操作。
1.2.5 系統(tǒng)服務(wù)
系統(tǒng)服務(wù)函數(shù)為應(yīng)用程序提供了訪問計(jì)算機(jī)資源以及底層操作系統(tǒng)特性的手段,比如訪
問內(nèi)存、文件系統(tǒng)、設(shè)備、進(jìn)程和線程。應(yīng)用程序使用系統(tǒng)服務(wù)函數(shù)來管理和監(jiān)視它所需要
的資源。例如,應(yīng)用程序可使用內(nèi)存管理函數(shù)來分配和釋放內(nèi)存,使用進(jìn)程管理和同步函數(shù)
來啟動(dòng)和調(diào)整多個(gè)應(yīng)用程序或在一個(gè)應(yīng)用程序中運(yùn)行的多個(gè)線程的操作。
系統(tǒng)服務(wù)函數(shù)提供了訪問文件、目錄以及輸入輸出(I/O)設(shè)備的手段。應(yīng)用程序使用
文件I/O函數(shù)可以訪問保存在指定計(jì)算機(jī)以及網(wǎng)絡(luò)計(jì)算機(jī)上的磁盤和其他存儲(chǔ)設(shè)備上的文件
和目錄。這些函數(shù)支持各種文件系統(tǒng),從FAT文件系統(tǒng),CD-ROM文件系統(tǒng)(CDFS),到NTFS。
系統(tǒng)訪問函數(shù)為應(yīng)用程序提供了一些可以與其他應(yīng)用程序共享代碼或信息的方法。例
如,可以將一些有用的過程放到DLL中,使它們對(duì)所有的應(yīng)用程序都可用。應(yīng)用程序只需使
用DLL函數(shù)將動(dòng)態(tài)鏈接庫加載進(jìn)來并獲取各過程的地址,就可以使用這些過程了。通訊函數(shù)
用于向通訊端口寫入數(shù)據(jù)及從通訊端口讀出數(shù)據(jù),并控制這些端口的操作方式。有幾種內(nèi)部
通訊(IPC)的方法,比如DDE、管道(Pipe)、郵槽(Mailslot)和文件映射。對(duì)于提供安
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -