Rounded Frame

Frame Control yang ditambahkan kedalam Userform melalui Toolbox, umumnya berbentuk Kotak Seperti dibawah ini

Untuk saat ini tampilan kotak akan terlihat jadul dan kurang modern, karena itu beberapa pengguna VBA menginginkan tampilan Frame ini bisa berbentuk melengkung atau sedikit bulat

Membuat sebuah Frame menjadi melengkung dalam Form Control VBA, menggunakan windows API dari SetWindowRgn dan CreateRoundRectRgn.

Untuk contoh scriptnya bisa dilihat dibawah ini, simpan script berikut ini kedalam standard Module

#If Win64 And VBA7 Then
    '64Bit
    Private Declare PtrSafe Function SetWindowRgn Lib "user32.dll" ( _
     ByVal hwnd As Long, _
     ByVal hRgn As Long, _
     ByVal bRedraw As Boolean) As Long
     
     Private Declare PtrSafe Function GetFocus Lib "user32.dll" () As Long
    
    Private Declare PtrSafe Function CreateRoundRectRgn Lib "gdi32.dll" ( _
     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
#Else
    '32Bit
    Private Declare Function SetWindowRgn Lib "user32.dll" ( _
     ByVal hWnd As Long, _
     ByVal hRgn As Long, _
     ByVal bRedraw As Boolean) As Long
     
    Private Declare Function GetFocus Lib "user32.dll" () As Long

    Private Declare Function CreateRoundRectRgn Lib "gdi32.dll" ( _
     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
#End If

Public Sub BuatRoundFR(frm As Control)
Dim hwnd As Long

frm.SetFocus
hwnd = GetFocus
SetWindowRgn hwnd, CreateRoundRectRgn(0, 0, 100, 20, 20, 20), True
End Sub

Selanjutnya untuk membuat Frame menjadi melengkung (Rounded) tambahkan pada Userform_initialize script berikut ini:

Disini saya mengubah Frame2, Frame3 dan Frame4 berubah menjadi melengkung.

Private Sub UserForm_Initialize()
BuatRoundFR Frame2
BuatRoundFR Frame3
BuatRoundFR Frame4
End Sub

Setelah script dijalankan, maka tampilakn Userform akan berubah menjadi seperti dibawah ini:

Jika kamu masih kebingungan dalam membuatnya, kamu juga bisa tonton tutorial ini pada video tutoril dibawah ini.

Berikut ini adalah hasil contoh penerapan Rounded Frame pada aplikasi yang saya buat.

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat WhatsApp
WhatsApp