2009-01-24 21:11
2. Mode屬性
Mode屬性定義線(xiàn)段的顏色??山Y合當前的顏色、屏幕顏色或它們的反轉值,對線(xiàn)段的顏色重新定義,但不改變Color屬性,詳見(jiàn)表4.4。
表4.4 Mode屬性的取值及含義
Mode屬性
像素顏色
PmBlack
黑色
PmWhite
白色
PmNop
不變
PmCopy
使用Color屬性中的顏色
PmNotCopy
筆顏色的反轉值
PmMergePenNot
筆顏色與屏幕顏色反轉值的結合
PmNaskNotPen
屏幕顏色與筆顏色的結合
PmMergeNotPen
屏幕顏色與筆顏色反轉值的結合
4.4.3 TBrush——畫(huà)刷對象
畫(huà)刷對象用以填充圖形,如用畫(huà)刷顏色或圖案對矩形或橢圓進(jìn)行填充。TBrush擁有一個(gè)HBrush(畫(huà)刷句柄)。
畫(huà)刷的顏色定義在Color屬性中。畫(huà)刷還有一個(gè)Bitmap屬性,該屬性只能在運行時(shí)得到,畫(huà)刷可使用位圖填充圖形以產(chǎn)生特殊效果。位圖大小為8個(gè)像素點(diǎn)高,8個(gè)像素點(diǎn)寬。
Style屬性定義了畫(huà)刷填充圖形的圖案,如圖4.8所示為Style的取值。
取值 圖案 取值 圖案
圖4.8 畫(huà)刷的類(lèi)型
4.4.4 TColor——顏色對象
TColor類(lèi)型用于定義對象的顏色。很多組件的顏色屬性就是TColor 類(lèi)型, 在Graphics單元中TColor定義如下:
TColor = -$7FFFFFFF-1..$7FFFFFFF;
這是一個(gè)32位二進(jìn)制數據。Graphic單元中還定義了一些常用的顏色常量,這些常量或直接映射成系統調色板中最相近的顏色,或映射成Windows控制面板中顏色部分的系統視頻顏色。
直接映射成系統調色板中的顏色有:
ClAqua,CLBlack,ClBlue,ClbkGrray,ClFuchsoa,...,ClYellow
映射程序用4字節的二進(jìn)制碼來(lái)定義顏色,低3位字節代表RGB相應的顏色,如$00FF0000表示純藍,$0000FF00表示純綠,$000000FF表示純紅,$00000000表示黑色,$00FFFFFF表示白色。如果最高位字節是$00,則表示用系統調色板中最相近的顏色;最高位字節是$01,則表示用當前調色板中最相近的顏色匹配;最高位字節是$02,則表示用當前設備描述表中邏輯調色板的次相近顏色匹配。
此外,還有一類(lèi)顏色,比如:
ClBackground,CLActiveCaption,clInactiveCaption,clMenu…
它們分別表示當前Windows桌面的背景色、當前活動(dòng)窗體的標題欄的顏色、當前非活動(dòng)窗體的標題欄顏色以及當前菜單的背景色等。用這些顏色屬性,可以方便地寫(xiě)出與當前Windows相容的應用程序,而不會(huì )出現程序在某個(gè)Windows風(fēng)格中顯得特別扎眼的情況。
用Windows API的SelectPalette函數可創(chuàng )建邏輯調色板,要實(shí)現邏輯調色板到硬件調色板的映射,需用RealizePalette函數。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。