2013-08-18 99 views
-1

我正在使用VB6。任何人都可以告诉我,我可以如何制作圆形的表格?VB Form In Circle Shape

我已经使用这个代码,但它显示了一个错误:

Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long 
Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long 
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long 
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long 
Private Function fMakeATranspArea(AreaType As String, pCordinate() As Long) As Boolean 
+0

什么错误? – dazedandconfused

+0

这段代码实际上并没有做任何事情。这只是一系列的声明。你没有向我们展示你如何调用这些函数,或者'fMakeATranspArea'函数的实现是什么。 –

+0

看到这个问题http://stackoverflow.com/questions/3621118/semi-transparent-form-using-vb6 – MarkJ

回答

2

fMakeATranspArea可能看起来像API调用,以及(这是不是) - 但它缺少身体,这很可能是你的问题,你感到困惑。

你可以用手工的东西像这样的更换你的最后一行:

Private Sub Form_Load() 
    SetWindowRgn Me.hWnd, CreateEllipticRgn(0, 0, 300, 300), 1 
End Sub 

你看到的是坐标这些数字。我不建议你修复fMakeATranspArea,因为它似乎很复杂,而且可能会让你需要的东西变得复杂。在这种情况下也不需要

CombineRgnCreateRectRgn

从外观上来看,你发现从这里的源代码 - 这已全面推行:

http://www.planet-source-code.com/vb/scripts/ShowCodeAsText.asp?txtCodeId=1617&lngWId=-10