Form Berlubang Dengan Visual Basic 6.0 (Vb6)

Dalam mengolah form pada Visual Basic menjadi sebuah sistem tentunya dengan menambahkan beberapa komponen sebagai pendukung merupakan hal yang umum dilakukan oleh programmer baik itu menggunakan Visual Basic 6.0 (VB6), Foxpro, PHP dan masih banyak yang lainnya. Bisa dikatakan form merupakan dasar dalam peletakan beberapa komponen (TextBox, ListView, Label, CommandButton, dll) yang kita perlukan dalam pengolahan data.



Pada kesempatan kali ini admin akan mengembangkan sebuah source code mengolah sebuah form menjadi berlubang dan transparan ibarat layout dibawah ini : 



Form Berlubang Dengan Visual Basic 6.0 (Vb6)


Form Berlubang dengan Visual Basic 6.0 (VB6)


Buka Ms. Visual Basic 6.0 (VB6) buat sebuah project dan form kemudian copas coding berikut ini pada prosedur (General) (Declarations)



Private Declare Function CreateRoundRectRgn Lib “gdi32” (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long



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



Kemudian dilanjutkan copas coding Visual Basic 6.0 berikut sebagai function untuk membuat area transparan pada form



Private Function fMakeATranspArea(AreaType As String, pCordinate() As Long) As Boolean

Const RGN_DIFF = 4

Dim lOriginalForm As Long

Dim ltheHole As Long

Dim lNewForm As Long

Dim lFwidth As Single

Dim lFHeight As Single

Dim lborder_width As Single

Dim ltitle_height As Single



On Error GoTo Trap

lFwidth = ScaleX(Width, vbTwips, vbPixels)

lFHeight = ScaleY(Height, vbTwips, vbPixels)

lOriginalForm = CreateRectRgn(0, 0, lFwidth, lFHeight)


lborder_width = (lFHeight – ScaleWidth) / 2

ltitle_height = lFHeight – lborder_width – ScaleHeight

Select Case AreaType

Case “Elliptic”

ltheHole = CreateEllipticRgn(pCordinate(1), pCordinate(2), _

pCordinate(3), pCordinate(4))



Case “RectAngle”

ltheHole = CreateRectRgn(pCordinate(1), _

pCordinate(2), pCordinate(3), pCordinate(4))


Case “RoundRect”

ltheHole = CreateRoundRectRgn(pCordinate(1), _

pCordinate(2), pCordinate(3), pCordinate(4), _

pCordinate(5), pCordinate(6))


Case “Circle”

ltheHole = CreateRoundRectRgn(pCordinate(1), _

pCordinate(2), pCordinate(3), pCordinate(4), _

pCordinate(3), pCordinate(4))


Case Else

MsgBox “Unknown Shape!!”

Exit Function

End Select



lNewForm = CreateRectRgn(0, 0, 0, 0)

CombineRgn lNewForm, lOriginalForm, _

ltheHole, RGN_DIFF


SetWindowRgn hWnd, lNewForm, True

Me.Refresh

fMakeATranspArea = True

Exit Function

Trap:

MsgBox “error Occurred. Error # ” & Err.Number & “, ” & Err.Description

End Function 


Untuk yang terakhir copas coding Visual Basic 6.0 dibawah ini pilih prosedur Form_Load




Dim lParam(1 To 6) As Long

lParam(1) = 100

lParam(2) = 100

lParam(3) = 250

lParam(4) = 250

lParam(5) = 50

lParam(6) = 50

Call fMakeATranspArea(“RoundRect”, lParam())


Setelah selesai sekarang coba RUN / F5, form yang run akan berlubang transparan, ibarat layout tampilan gambar form diaawal pembahasan artikel ini. Bagi yang ingin mendownload admin persilahkan untuk mengklik link download diatas dan supaya bermanfaat.


Popular posts from this blog

Subitems Listview Berwarna Selang Seling

Source Code Aplikasi Tagihan Internet Memakai Php