Beberapa komponen Tab yang wajib dilirik

Posted by Kamarudin • 1 minute read • Comments

1. vbAccelerator VB6 MDI Tab Component

Komponen ini digunakan untuk mengelompokan MDIChild form kedalam tab-tab. Contoh :

Contoh sourcecode penggunakan komponen ini diketik di MDIParent

Option Explicit

Private WithEvents m_cMDITabs   As cMDITabs

Public Sub closeChild(ByVal frmChild As Form)
    On Error GoTo errHandle

    Unload frmChild
    m_cMDITabs.ForceRefresh

    Exit Sub
errHandle:
    Call msgWarning(Err.Description)
End Sub

Private Function formForHwnd(ByVal hwnd As Long) As Form
    Dim frmChild As Form

    On Error GoTo errHandle

    For Each frmChild In Forms
        If (frmChild.hwnd = hwnd) Then
            Set formForHwnd = frmChild
            Exit For
        End If
    Next

    Exit Function
errHandle:
    Call msgWarning(Err.Description)
End Function

Private Sub m_cMDITabs_CloseWindow(ByVal hwnd As Long)
    Dim frm As Form

    On Error GoTo errHandle

    Set frm = formForHwnd(hwnd)
    Unload frm
    m_cMDITabs.ForceRefresh

    Exit Sub
errHandle:
    Call msgWarning(Err.Description)
End Sub

Private Sub MDIForm_Load()
    Set m_cMDITabs = New cMDITabs
    m_cMDITabs.Attach Me.hwnd
End Sub

Selanjutnya untuk menutup MDIChild form, kita tinggal panggil public method closeChild milinya MDIParent :

Private Sub cmdSelesai_Click()
    Call frmMain.closeChild(Me)
End Sub

2. vbAccelerator VB6 VS Tab Control

Komponen ini digunakan untuk menggantikan komponen tab standar VB 6 (Microsoft Tabbed Dialog Control 6 dan TabStrip). Contoh :

Cara penggunaan komponen ini :

1. Tambahkan 2 atau lebih objek PictureBox kemudian ubah properties Namenya. Ex picTabPribadi dan picTabRiwayatJabatan

2. Tambahkan komponen vbAccelerator VB6 VS Tab Control kemudian kita ubah nambahnya menjadi tabMain

Untuk bagian kode program, tambahkan prosedur berikut :

Private Sub initTab()
    Dim C As cTab

    With tabMain
        .ShowCloseButton = False
        .AllowScroll = False
        .TabAlign = TabAlignTop

        Set C = .Tabs.Add("picTabPribadi", , "Data Pribadi")
        C.Panel = picTabPribadi

        Set C = .Tabs.Add("picTabRiwayatJabatan", , "Riwayat Jabatan")
        C.Panel = picTabRiwayatJabatan
    End With
End Sub

Selanjutnya kita tinggal melakukan inisialisasi di event Form_Load :

Private Sub Form_Load()
    Call initTab
End Sub

Untuk komponen vbAccelerator VB6 MDI Tab Component membutuhkan library vbAccelerator VB6 Subclassing and Timer Assistant.

Selamat mencoba :blush:

Comments