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 berbagi sebuah source code mengolah sebuah form menjadi berlubang dan transparan seperti 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, seperti layout tampilan gambar form diaawal pembahasan artikel ini. Bagi yang ingin mendownload admin persilahkan untuk mengklik link download diatas dan semoga bermanfaat.

Related

Visual Basic Classic 8531569914912624556

Post a Comment

Perhatian !!
- Berkomentarlah dengan menggunakan bahasa yang baik dan sopan dan sesuai topik pembahasan
- Dilarang menjadikan referensi artikel web ini tanpa menyertakan sumbernya

emo-but-icon

Terbaru

Random Artikel

Memuat...

Contact Us

Name

Email *

Message *

item