VB聲明 |
||
Declare Function DrawState Lib "user32" Alias "DrawStateA" (ByVal hDC As Long, ByVal hBrush As Long, ByVal lpDrawStateProc As Long, ByVal lParam As Long, ByVal wParam As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal n3 As Long, ByVal n4 As Long, ByVal un As Long) As Long |
||
說(shuō)明 |
||
這個(gè)函數(shù)可為一幅圖象或繪圖操作應(yīng)用各式各樣的效果 |
||
返回值 |
||
Long,TRUE(非零)表示成功,F(xiàn)ALSE表示失敗 |
||
參數(shù)表 |
||
參數(shù) |
類型及說(shuō)明 |
|
hDC |
Long,要在其中繪圖的設(shè)備場(chǎng)景 |
|
hBrush |
Long,如狀態(tài)為DSS_MONO(在un參數(shù)中設(shè)定),則指定一個(gè)刷子句柄 |
|
lpDrawStateProc |
Long,指向一個(gè)函數(shù)地址的指針。如圖象類型為DST_COMPLEX,必須設(shè)置這個(gè)參數(shù)。對(duì)于DST_TEXT,則可設(shè)可不設(shè) |
|
lParam |
Long,由圖象的類型決定 |
|
wParam |
Long,由圖象的類型決定 |
|
n1 |
Long,圖象的水平位置 |
|
n2 |
Long,圖象的垂直位置 |
|
n3 |
Long,圖象的寬度。如圖象類型為DST_COMPLEX,必須設(shè)置這個(gè)參數(shù)。而對(duì)于其他類型,則可以設(shè)為零。如為零,表示該參數(shù)在圖象的基礎(chǔ)上計(jì)算 |
|
n4 |
Long,圖象的高度。如圖象類型為DST_COMPLEX,必須設(shè)置這個(gè)參數(shù)。而對(duì)于其他類型,則可以設(shè)為零。如為零,表示該參數(shù)在圖象的基礎(chǔ)上計(jì)算 |
|
un |
Long,圖象類型和狀態(tài)的一個(gè)組合。參見(jiàn)下表 |
|
圖象類型 |
||
DST_BITMAP |
lParam中的句柄 |
|
DST_COMPLEX |
繪圖在由lpDrawStateProc參數(shù)指定的回調(diào)函數(shù)期間執(zhí)行。lParam和wParam會(huì)傳遞給回調(diào)事件 |
|
DST_ICON |
lParam包括圖標(biāo)句柄 |
|
DST_TEXT |
lParam代表文字的地址(可使用一個(gè)字串別名),wParam代表字串的長(zhǎng)度 |
|
DST_PREFIXTEXT |
與DST_TEXT類似,只是 & 字符指出為下各字符加上下劃線 |
|
圖象狀態(tài)常數(shù) |
||
DSS_NORMAL |
普通圖象 |
|
DSS_UNION |
圖象進(jìn)行抖動(dòng)處理 |
|
DSS_DISABLED |
圖象具有浮雕效果 |
|
DSS_MONO |
用hBrush描繪圖象 |
|
DSS_RIGHT |
手冊(cè)未正式說(shuō)明——經(jīng)實(shí)驗(yàn)證明沒(méi)有什么作用(原文:Undocumented-experimentation seems to show no effect.) |
|
注解 |
||
windows95用它獲得我們應(yīng)用于圖象的一些視覺(jué)效果;例如,可使位圖或其他圖象在視覺(jué)上進(jìn)入禁用或抖動(dòng)狀態(tài)。對(duì)于位圖和圖標(biāo),它在描繪位圖或圖標(biāo)的時(shí)候應(yīng)用一種效果。對(duì)于文本,既可讓函數(shù)畫出文本,也可在一個(gè)回調(diào)函數(shù)中執(zhí)行自己的繪圖操作。對(duì)于復(fù)雜的(用戶自定義)圖象,則必須用一個(gè)回調(diào)函數(shù)。在回調(diào)函數(shù)執(zhí)行過(guò)程中,用自己的代碼將自己希望的任何東西畫入設(shè)備場(chǎng)景。在這之后,利用DrawState函數(shù)應(yīng)用希望的效果 |