Sabtu, 18 September 2010

Membuat Multiline Tooltip Gaya Balon Pada Visual Basic 6.0

Tooltip merupakan salah satu elemen interface yang cukup penting, properti ini biasa kita gunakan untuk memberikan keterangan singkat mengenai suatu proses atau yang lainnya.

Salah satu kelemahan yang ada pada tooltip standar pada visual basic adalah kita tidak dapat menampilkan text tooltip lebih dari satu baris, perhatikan ilustrasi berikut

Tooltip standar pada visual basic 6.0

Multiline Tooltip

Untuk membuat multiline tooltip kita perlu mengakses beberapa pustaka API, tapi anda tidak perlu khawatir karena pada source code yang saya lampirkan terdapat penjelasan yang mendetail dari setiap perintah yang ada pada source code tersebut, langsung saja klik disini untuk mendownload project nya.

Semoga bermanfaat.

Be My Friend On Facebook

5 komentar:

  1. hai, saya Tifany :Lie, apakah anda ada contoh coding untuk membuat balloon tooltips tapi untuk display item-item yg ada d listbox? dalam VB6

    terima kasih :)

    BalasHapus
  2. Waduh omm.. cra pnerapannya gmna ya... newbieee..

    BalasHapus
  3. @TifanyLie : klo utk item dlm listbox sebaiknya jgn gunakan tolltip, tambahin aja 1 kolom tambahan, krn tooltip biasa nya kt gunakan hanya sbagai keterangan utk sebuah kontrol.

    BalasHapus
  4. @Desta : dalam kasus nyata biasa nya comand button yg ada dalam form kita lebih dari 1, jdi saya sarankan buat sebuah procedure untuk mengatur tooltip utk seluruh command button yg ada di dalam form kita, sebaiknya gunakan array, command button nya juga jadikan array, utk procedure nya saya contoh kan disni

    Private Sub SetBaloonTooltip()
    Dim ti() As TOOLINFO
    Dim strPntr() As String
    Dim RetVal() As Long
    Dim i As Integer

    Dim RECT As RECT

    Dim uid As Long
    uid = 0

    ReDim ti(2)
    ReDim strPntr(2)
    ReDim RetVal(2)

    strPntr(0) = "Inilah tooltip yang dibuat dengan menggunakan fungsi API. " & vbCrLf & "Seperti yang dapat Anda lihat, dia kini mendukung banyak baris, " & vbCrLf & _
    "pindah baris, menampilkan batas atau jendela tooltip bergaya balon, " & vbCrLf & _
    "serta dapat menampilkan warna latar dan huruf sesuai keinginan."

    strPntr(1) = "Ini contoh " & vbCrLf & "yang kedua."

    For i = 0 To 1

    hwndTT = CreateWindowEx(WS_EX_TOPMOST, _
    TOOLTIPS_CLASSA, vbNullString, _
    WS_POPUP Or TTS_NOPREFIX Or TTS_BALLOON, _
    CW_USEDEFAULT, CW_USEDEFAULT, _
    CW_USEDEFAULT, CW_USEDEFAULT, _
    Me.hwnd, 0, App.hInstance, 0)
    SetWindowPos hwndTT, HWND_TOPMOST, 0, 0, 0, 0, _
    SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE

    GetClientRect Command1(i).hwnd, RECT
    ti(i).cbSize = Len(ti(i))
    ti(i).uFlags = TTF_CENTERTIP Or TTF_SUBCLASS
    ti(i).hwnd = Command1(i).hwnd
    ti(i).hinst = App.hInstance
    ti(i).uid = uid
    ti(i).lpszText = strPntr(i)
    ti(i).RECT.Left = RECT.Left
    ti(i).RECT.Top = RECT.Top
    ti(i).RECT.Right = RECT.Right
    ti(i).RECT.Bottom = RECT.Bottom
    RetVal(i) = SendMessage(hwndTT, TTM_ADDTOOLA, 0, ti(i))

    RetVal(i) = SendMessage(hwndTT, TTM_SETMAXTIPWIDTH, _
    0, 80)

    RetVal(i) = SendMessage(hwndTT, TTM_SETTIPBKCOLOR, _
    &HC0FFC0, 0)
    RetVal(i) = SendMessage(hwndTT, TTM_SETTIPTEXTCOLOR, _
    vbBlue, 0)
    RetVal(i) = SendMessage(hwndTT, TTM_UPDATETIPTEXTA, 0, ti(i))

    Next
    End Sub

    BalasHapus
  5. Mantap tutorialnya. Jika ingin memperdalam pemrograman silahkan temukan video tutorialnya di sini, semua menggunakan bahasa Indonesia http://www.jualtutorialku.com/tutorial-programing

    BalasHapus