VB程序窗口问题

想很多游戏那样 窗口是图片的形状。
该怎么设置。。 需要用代码。 请把代码贴上。。讲解下每段的用处。。
或者标注下也可以
比如下面那样 按键也是圆的 标题栏也有改动
我初学VB 想从美工下手 呵呵

多边形的窗体,代码如下:
Option Explicit
'下面两个是API函数,定义一个的功能是建立多边形区域,第二个设定指定窗体的范围。
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As PointAPI, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
'这些是用来设定多边形的每一个点的,在下面代码建立这样一个数组,并给它赋值,他将决定多边形的形态
坐标的Private Type PointAPI
x As Long
y As Long
End Type
'函数常量用阿里指定其填充模式
Private Const WINDING = 2
Private Sub Form_Click()
Dim hRng As Long
Dim iRes As Long
Dim i As Integer
Dim point(1 To 5) As PointAPI
'如上所言,赋值给他们,这些都是坐标就像几何的坐标一样。不过是建立在屏幕上的罢了
point(1).x = 20: point(1).x = 20
point(2).x = 260: point(2).y = 60
point(3).x = 260: point(3).y = 400
point(4).x = 160: point(4).y = 256
point(5).x = 50: point(5).y = 200
'调用函数,这是创建多边形的关键
hRng = CreatePolygonRgn(point(1), 4, WINDING)
iRes = SetWindowRgn(Me.hWnd, hRng, True)
End Sub

Private Sub Form_Load()
Me.ScaleMode = vbPixels
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-04
只能跟你说说原理了,VB弄这个用到API的代码实在是太多了....
1 准备一副图片做窗体背景;
2 添加一个图片控件,设控件透明无边框,载入上面的那副图片;
3 用API透明原本的窗体;
4 在图片控件里面放入想要的控件,比如按钮、文本框等。