如何自定义VB的按钮形状、窗口形状

来源:百度知道 编辑:UC知道 时间:2024/06/15 09:37:05
如何VB中自定义按钮形状、窗口形状

使用SetWindowRgn函数可以设置窗体形状,定义如下:
Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
hWnd既可以是窗体的句柄,又可以是按钮的句柄
hRgn是要用下述几个函数设置的
bRedraw设置为True就行了

在设置之前首先要设置区域句柄(0为整个窗体):
CreateRectRgn、CreateEllipticRgn、CreatePolygonRgn等可以创建各种形状
然后用CombineRgn函数合并形状

例如(真对不起,我遇到麻烦了):
Option Explicit

Private Type POINTAPI
x As Long
y As Long
End Type
Dim XY() As POINTAPI

'创建一个由一系列点围成的区域。windows在需要时自动将最后点与第一点相连以封闭多边形
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
'创建一个由点X1,Y1和X2,Y2描述的矩形区域
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
'创建一个椭圆,该椭圆与X1,Y1和X2,Y2坐标点确定的矩形内切
Privat