Membuat menu cantik dengan VBSmart Menu XP

Posted by Kamarudin • 1 minute read • Comments

VBSmartMenu XP merupakan salah satu komponen tambahan di VB untuk membuat menu bergaya menu Ms Office 200x yang tentunya fitur ini tidak dimiliki oleh Menu Editor yang merupakan fasilitas standar di VB untuk membuat menu, oke mari kita lihat cuplikan menu yang dihasilkan oleh komponen VBSmartMenu XP.

Gimana ? Cantik bukan ? :blush:

Komponen VBSmartMenu XP terdiri dari 2 file yaitu SmartMenuXP.dll dan SmartMenuXP.ocx yang tentunya untuk menggunakan komponen ini Anda harus melakukan registrasi manual ke dua komponen tersebut.

Sudah enggak sabaran melihat kodenya berikut cuplikannya :

Option Explicit

Private Function getIcon(ByVal iconName As String) As StdPicture
    Set getIcon = LoadPicture(App.Path + "\Icons\" + iconName + ".ico")
End Function

Private Sub addMenuXP()
    With SmartMenuXP1.MenuItems
        .Add 0, "mnuFile", , "&File"
        .Add "mnuFile", "mnuNew", , "&New", getIcon("new")
        .Add "mnuFile", "mnuOpen", , "&Open", getIcon("open")
        .Add "mnuFile", "mnuClose", , "&Close", getIcon("close")
        .Add "mnuFile", , smiSeparator
        .Add "mnuFile", "mnuSave", , "&Save", getIcon("save")
        .Add "mnuFile", "mnuSaveAs", , "Save &As..."
        .Add "mnuFile", , smiSeparator
        .Add "mnuFile", "mnuPrintPreview", , "Print Pre&view", getIcon("preview")
        .Add "mnuFile", "mnuPrint", , "&Print", getIcon("print")
        .Add "mnuFile", , smiSeparator

        .Add "mnuFile", "mnuSendTo", , "Sen&d To"
        .Add "mnuSendTo", "mnuMailRecipient", , "&Mail Recipient", getIcon("mail")
        .Add "mnuSendTo", "mnuMailRecipientReview", , "Mail Re&cipient (for Review)"
        .Add "mnuSendTo", "mnuOnlineMeetingParticipant", , "&Online Meeting Participant"
        .Add "mnuSendTo", "mnuFaxRecipient", , "&Fax Recipient...", getIcon("fax")
        .Add "mnuSendTo", , smiSeparator
        .Add "mnuSendTo", "mnuMicrosoftPowerPoint", , "Microsoft &PowerPoint", getIcon("powerpoint")

        .Add "mnuFile", , smiSeparator
        .Add "mnuFile", "mnuExit", , "&Exit"

        'TODO : DEFINISIKAN MENU YANG LAIN DISINI

    End With
End Sub

Kemudian kita cukup memanggil prosedur addMenuXP di event Form_Load form utama :

Private Sub Form_Load()
    Call addMenuXP
End Sub

Dan bagaimana cara menghandle user mengklik menu yang mana ? kita tinggal memasang kode di event SmartMenuXP_Click :

Private Sub SmartMenuXP1_Click(ByVal ID As Long)
    With SmartMenuXP1.MenuItems
        Select Case .Key(ID)
            Case "mnuNew": 'TODO : something here
            Case "mnuOpen":
            Case "mnuClose":
            Case "mnuSave":
            Case "mnuSaveAs":
            Case "mnuPrintPreview":
            Case "mnuPrint":
            Case "mnuMailRecipient":
            Case "mnuMailRecipientReview":
            Case "mnuOnlineMeetingParticipant":
            Case "mnuFaxRecipient":
            Case "mnuMicrosoftPowerPoint":
            Case "mnuExit": End
        End Select
    End With
End Sub

Source code berikut komponen VBSmartMenuXP bisa didownload disini, dan jangan lupa sebelum membuka sample program jalankan terlebih dahulu file install.cmd yang ada di sub folder dll&ocx.

Selamat mencoba :blush:

Comments