vb编程: 做圆形窗口时的问题!!

来源:百度知道 编辑:UC知道 时间:2024/05/11 12:13:46
VB中做窗口时感觉方框的不好看,就想用异形的,做了一个圆的,背景是一个JPG图片,可是程序一运行发现圆的外部,就是想让它透明的地方有好多白色杂点,请问怎么解决?做图片时透明区域用的蓝色。

模块代码:
Public Declare Function CreateEllipticRgn Lib "gdi32" _
( _
ByVal X1 As Long, ByVal Y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long _
) As Long

Public Declare Function CreateRectRgn Lib "gdi32" _
( _
ByVal X1 As Long, ByVal Y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long _
) As Long

Public Declare Function SetWindowRgn Lib "user32" _
( _
ByVal hWnd As Long, ByVal hRgn As Long, _
ByVal bRedraw As Boolean _
) As Long

Public Declare Function CombineRgn Lib "gdi32" _
( _
ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, _
ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long _
) As Long

Public Const RGN_AND = 1
'将两个区域相加
Public Const RGN_COPY = 5
'创建hSrcRgn1的拷贝
Public Const RGN_DIFF = 4
'将两个区域相减
Public Const RGN_OR = 2
'将