以下代码为正解,能用..
问题是红色那几行看不懂,,在 CreatePolygonRgn(PolyPoint(0), num,1)明明只要1个PolyPoint坐标,为什么声明一个数组,再取其中一个点呢?但是我试过只放一个点进去,结果窗体没变化.. Public Structure POINTAPI
Dim x As Integer
Dim y As Integer
End Structure
'定义POINTAPI类型
Declare Function CreatePolygonRgn Lib "gdi32" (ByRef lpPoint As POINTAPI, _
ByVal nCOUNT As Integer, _
ByVal nPolyFillMode As Integer) _
As Integer
Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Integer, _
ByVal hRgn As Integer, _
ByVal bRedraw As Boolean) _
As Integer
Declare Function GetActiveWindow Lib "user32" () As Integer
'声明API函数
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, FormPoly, num, myhwnd As Integer
num = CInt(Me.TextBox1.Text)
'将多边形的边数存入变量num
Dim PolyPoint(num) As POINTAPI
For i = 0 To num - 1 Step 1
PolyPoint(i).x = CInt(Int(Rnd() * 500))
PolyPoint(i).y = CInt(Int(Rnd() * 500))
Next
'为多边形各点坐标随机赋值
FormPoly = CreatePolygonRgn(PolyPoint(0), num, 1) myhwnd = GetActiveWindow()
SetWindowRgn(myhwnd, FormPoly, False)
问题是红色那几行看不懂,,在 CreatePolygonRgn(PolyPoint(0), num,1)明明只要1个PolyPoint坐标,为什么声明一个数组,再取其中一个点呢?但是我试过只放一个点进去,结果窗体没变化.. Public Structure POINTAPI
Dim x As Integer
Dim y As Integer
End Structure
'定义POINTAPI类型
Declare Function CreatePolygonRgn Lib "gdi32" (ByRef lpPoint As POINTAPI, _
ByVal nCOUNT As Integer, _
ByVal nPolyFillMode As Integer) _
As Integer
Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Integer, _
ByVal hRgn As Integer, _
ByVal bRedraw As Boolean) _
As Integer
Declare Function GetActiveWindow Lib "user32" () As Integer
'声明API函数
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i, FormPoly, num, myhwnd As Integer
num = CInt(Me.TextBox1.Text)
'将多边形的边数存入变量num
Dim PolyPoint(num) As POINTAPI
For i = 0 To num - 1 Step 1
PolyPoint(i).x = CInt(Int(Rnd() * 500))
PolyPoint(i).y = CInt(Int(Rnd() * 500))
Next
'为多边形各点坐标随机赋值
FormPoly = CreatePolygonRgn(PolyPoint(0), num, 1) myhwnd = GetActiveWindow()
SetWindowRgn(myhwnd, FormPoly, False)
解决方案 »
- VB中SQL语句的问题,求赐教,在线等~~~~
- 请问哪里可以下载到pjgrid.ocx
- 请问:如何在VB中调用ASP
- 问题多多,接着问,大家看过来,关于USERCONTROL的validate问题
- 请问如何得到打印机的共享名,各位大虾请留意一下,很急。
- 使用SHFileOperation做文件复制的操作,如何捕捉错误
- 请问VB与单片机通过串口通讯的问题。请各位大大指教!
- MSflexGrid中将当前行置于某行,想让表格也滚动到当前行,怎样才能实现?
- VB问题:请教高手在程序中编写错误处理语句的技巧
- 如何给您加分,Mr.wzxypq,速告我
- csdn论坛的提问贴如何追加悬赏分
- 怎样连接midi键盘
VB API 查询工具