有一天玩CF的时候注意到登录窗体不是矩形的,当时很诧异,后来才知道原来系统提供了这样的编程接口
首先要用到两个API函数:设置窗体区域函数SetWindowRgn、创建多边形区域函数CreatePolygonRgn
在visual basic里面的声明如下:
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
'声明常量
Const ALTERNATE = 1
'定义一个PointApi类型
Private Type POINTAPI
X As Long
Y As Long
End Type
'下面是在form里面进行初始化:
Private Sub Form_Load()
'定义各个顶点坐标
Points(0).X = 359
Points(0).Y = 333
Points(1).X = 682
Points(1).Y = 50
Points(2).X = 878
Points(2).Y = 335
Points(3).X = 571
Points(3).Y = 548
Points(4).X = 359
Points(4).Y = 335
'生成多边形窗体
SetWindowRgn Me.hWnd, CreatePolygonRgn(Points(0), 5, ALTERNATE), True
End Sub
这仅仅是个样例,剩下的需要大家发挥咯~Good Luck