有些控件是 VB 裏直接可以設置的, 如 Shape 控件
但有些需要用到關於 hRgn (handle to Region) 的 API 函數, 而且應用 hRgn 的控件需要有 hWnd 屬性才行, 具有的 hRgn 函數需要看你定義甚麽形狀, 通用性強一點的就是使用 CreatePolygonRgn.
在用 hRgn 函數創建了 Rgn 物件後, 用 SetWindowRgn 函數將 Rgn 應用到控件上就可以了.當卸載時請用 DeleteObject 將 hRgn 刪除以釋放資源.
CreatePolygonRgn 的聲明如下:
Declare Function CreatePolygonRgn Lib "gdi32" ( _
lpPoint As POINTAPI,_ 'POINTAPI 結構數組的第一個元素
ByVal nCount As Long,_ 'POINTAPI 數組中要使用的個數
ByVal nPolyFillMode As Long _ '多邊形的填充模式, 爲 ALTERNATE 或 WINDING 常數
) As Long
SetWindowRgn 的聲明如下:
Declare Function SetWindowRgn Lib "user32" ( _
ByVal hWnd As Long, _ ' handle to Window
ByVal hRgn As Long, _ ' handle to Region
ByVal bRedraw As Boolean _ ' 是否立即重畫窗口
) As Long
在這個過程中可能還要用到 CombineRgn 等函數,
[此贴子已经被作者于2006-12-21 0:00:47编辑过]
原來朋友仔感情再天真, 亦是我永遠也會愛惜的人, 明日愛他人, 也記住學會不要緊; 原來朋友比戀人更高分, 亦讓我開始懂得不記恨, 若大家都敏感, 我更要永遠記得拒絕再因小事怪人, 爲何沒有這條校訓...Twins-朋友仔
MCSD Training