Results 1 to 4 of 4

Thread: Full Color Balloon ToolTips with Icon / Title

  1. #1

    Thread Starter
    Frenzied Member dynamic_sysop's Avatar
    Join Date
    Jun 2003
    Location
    Ashby, Leicestershire.
    Posts
    1,142

    Post Full Color Balloon ToolTips with Icon / Title

    I built this Custom Balloon ToolTip to pass a bit of time between feeding babies etc...
    To initially retrieve the Handle of the ToolTip i have used the method that Divil uses in his balloon tip example.
    Then i've built up the code to perform Color / Icon / Title addition to the balloon.
    VB Code:
    1. [Color=Blue]Dim[/color] tp [Color=Blue]As[/color] [Color=Blue]New[/color] CustomTip()
    2.     [Color=Blue]Private[/color] [Color=Blue]Sub[/color] Form1_Load([Color=Blue]ByVal[/color] sender [Color=Blue]As[/color] System.Object, [Color=Blue]ByVal[/color] e [Color=Blue]As[/color] System.EventArgs) [Color=Blue]Handles[/color] [Color=Blue]MyBase[/color].Load
    3.         ToolTip1.SetToolTip(Button1, Button1.Text)
    4.         tp.CustomBalloon(ToolTip1)
    5.     [Color=Blue]End[/color] [Color=Blue]Sub
    6.  
    7. [Color=blue]End Class[/color]
    8.  
    9. '///[/color] [Color=Green]the[/color] [Color=Green]Class[/color] [Color=Green]that[/color] [Color=Green]will[/color] [Color=Green]build[/color] [Color=Green]your[/color] [Color=Green]Custom[/color] [Color=Green]ToolTip[/color] [Color=Green].[/color] [Color=Green][/color] [Color=Green].[/color] [Color=Green][/color] [Color=Green].[/color]
    10. #[Color=blue]Region[/color] [Color=gray]" Custom ToolTip Builder "[/color]
    11. Public[/color] [Color=Blue]Class[/color] CustomTip
    12.     [Color=Blue]Private[/color] [Color=Blue]Enum[/color] ToolTipIcon
    13.         TTI_INFO = 1
    14.         TTI_WARNING = 2
    15.         TTI_ERROR = 3
    16.     [Color=Blue]End[/color] [Color=Blue]Enum
    17.  
    18. [/color]    [Color=Blue]Private[/color] [Color=Blue]Enum[/color] ToolTipStyle
    19.         TTS_BALLOON = 64
    20.         WS_BORDER = 8388608
    21.         TTS_NOPREFIX = 2
    22.         TTM_SETTITLE = 1056
    23.         TTM_UPDATETIPTEXT = 1036
    24.         TTM_SETTIPBKCOLOR = 1043
    25.         TTM_SETTIPTEXTCOLOR = 1044
    26.     [Color=Blue]End[/color] [Color=Blue]Enum
    27.  
    28. [/color]    [Color=Blue]Public[/color] [Color=Blue]Sub[/color] CustomBalloon([Color=Blue]ByVal[/color] tip [Color=Blue]As[/color] ToolTip, [Color=Blue]Optional[/color] [Color=Blue]ByVal[/color] style [Color=Blue]As[/color] [Color=Blue]Integer[/color] = 0)
    29.         [Color=Green]'///[/color] [Color=Green]the[/color] [Color=Green]first[/color] [Color=Green]5[/color] [Color=Green]lines[/color] [Color=Green]are[/color] [Color=Green]from[/color] [Color=Green]Divil's[/color] [Color=Green]Balloon[/color] [Color=Green]tip[/color] [Color=Green]example
    30. [/color]        [Color=Green]'///[/color] [Color=Green]i've[/color] [Color=Green]marked[/color] [Color=Green]them[/color] [Color=Green]with[/color] [Color=Green]a[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green][/color] [Color=Green]at[/color] [Color=Green]the[/color] [Color=Green]end[/color] [Color=Green].[/color] [Color=Green]
    31. [/color]        [Color=Green]'///[/color] [Color=Green]start[/color] [Color=Green]of[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    32. [/color]        [Color=Blue]Dim[/color] hwnd [Color=Blue]As[/color] NativeWindow = [Color=Blue]DirectCast[/color]([Color=Blue]GetType[/color](ToolTip).GetField("window", Reflection.BindingFlags.NonPublic [Color=Blue]Or[/color] Reflection.BindingFlags.Instance).GetValue(tip), NativeWindow) [Color=Green]'///[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    33. [/color]        style = Win32.GetWindowLong(hwnd.Handle, Win32.GWL_STYLE) [Color=Green]'///[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    34. [/color]        style = style [Color=Blue]Xor[/color] ToolTipStyle.WS_BORDER [Color=Green]'///[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    35. [/color]        style = style [Color=Blue]Or[/color] ToolTipStyle.TTS_BALLOON [Color=Blue]Or[/color] ToolTipStyle.TTS_NOPREFIX [Color=Green]'///[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    36. [/color]        Win32.SetWindowLong(hwnd.Handle, Win32.GWL_STYLE, style) [Color=Green]'///[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    37. [/color]        [Color=Green]'///[/color] [Color=Green]end[/color] [Color=Green]of[/color] [Color=Green][/color] [Color=Green]*[/color] [Color=Green]
    38. [/color]        [Color=Green]'///[/color] [Color=Green]the[/color] [Color=Green]remaining[/color] [Color=Green]code[/color] [Color=Green][/color] [Color=Green],[/color] [Color=Green][/color] [Color=Green]for[/color] [Color=Green]colors[/color] [Color=Green]/[/color] [Color=Green]caption[/color] [Color=Green]/[/color] [Color=Green]icon[/color] [Color=Green]is[/color] [Color=Green]all[/color] [Color=Green]by[/color] [Color=Green]me[/color] [Color=Green][/color] [Color=Green]([/color] [Color=Green][/color] [Color=Green]Dynamic[/color] [Color=Green]Sysop[/color] [Color=Green][/color] [Color=Green])[/color] [Color=Green]
    39. [/color]        [Color=Green]'///[/color] [Color=Green]no[/color] [Color=Green]to[/color] [Color=Green]set[/color] [Color=Green]the[/color] [Color=Green]caption[/color] [Color=Green]/[/color] [Color=Green]icon[/color] [Color=Green]&[/color] [Color=Green]colors[/color] [Color=Green]up[/color] [Color=Green].[/color] [Color=Green][/color] [Color=Green].[/color] [Color=Green][/color] [Color=Green].[/color] [Color=Green]
    40. [/color]        SetToolTipCaption(hwnd, "this is the tooltip Caption")
    41.         SetToolTipBackColor(hwnd, Color.GhostWhite)
    42.         SetToolTipForeColor(hwnd, Color.BlueViolet)
    43.  
    44.     [Color=Blue]End[/color] [Color=Blue]Sub
    45.  
    46. [/color]    [Color=Blue]Private[/color] [Color=Blue]Sub[/color] SetToolTipCaption([Color=Blue]ByVal[/color] tip [Color=Blue]As[/color] NativeWindow, [Color=Blue]ByVal[/color] Caption [Color=Blue]As[/color] [Color=Blue]String[/color])
    47.         Win32.SendMessage(tip.Handle, ToolTipStyle.TTM_SETTITLE, ToolTipIcon.TTI_INFO, Caption)
    48.     [Color=Blue]End[/color] [Color=Blue]Sub
    49.  
    50. [/color]    [Color=Blue]Private[/color] [Color=Blue]Sub[/color] SetToolTipBackColor([Color=Blue]ByVal[/color] tip [Color=Blue]As[/color] NativeWindow, [Color=Blue]ByVal[/color] c [Color=Blue]As[/color] Color)
    51.         [Color=Green]'///[/color] [Color=Green]set[/color] [Color=Green]the[/color] [Color=Green]back[/color] [Color=Green]color[/color] [Color=Green]of[/color] [Color=Green]the[/color] [Color=Green]tooltip
    52. [/color]        [Color=Blue]Dim[/color] Col [Color=Blue]As[/color] [Color=Blue]Integer[/color] = ColorTranslator.ToWin32(Color.FromArgb(Convert.ToInt32(c.R), Convert.ToInt32(c.G), Convert.ToInt32(c.B)))
    53.         Win32.SetToolColors(tip.Handle, ToolTipStyle.TTM_SETTIPBKCOLOR, Col, 0)
    54.     [Color=Blue]End[/color] [Color=Blue]Sub
    55.  
    56. [/color]    [Color=Blue]Private[/color] [Color=Blue]Sub[/color] SetToolTipForeColor([Color=Blue]ByVal[/color] tip [Color=Blue]As[/color] NativeWindow, [Color=Blue]ByVal[/color] c [Color=Blue]As[/color] Color)
    57.         [Color=Green]'///[/color] [Color=Green]set[/color] [Color=Green]the[/color] [Color=Green]back[/color] [Color=Green]color[/color] [Color=Green]of[/color] [Color=Green]the[/color] [Color=Green]tooltip
    58. [/color]        [Color=Blue]Dim[/color] Col [Color=Blue]As[/color] [Color=Blue]Integer[/color] = ColorTranslator.ToWin32(Color.FromArgb(Convert.ToInt32(c.R), Convert.ToInt32(c.G), Convert.ToInt32(c.B)))
    59.         Win32.SetToolColors(tip.Handle, ToolTipStyle.TTM_SETTIPTEXTCOLOR, Col, 0)
    60.     [Color=Blue]End Sub[/color]
    61.  
    62. [Color=blue]End Class[/color]
    63. #[Color=blue]End Region[/color]
    64. [Color=Green]'/// the[/color] [Color=Green]Win32[/color] [Color=Green]Api[/color] [Color=Green]calls[/color] [Color=Green]to[/color] [Color=Green]be[/color] [Color=Green]used[/color] [Color=Green]by[/color] [Color=Green]the[/color] [Color=Green]above[/color] [Color=Green]Class[/color] [Color=Green].[/color] [Color=Green][/color] [Color=Green].[/color] [Color=Green][/color] [Color=Green].[/color]
    65. #[Color=blue]Region[/color] [Color=Gray]" Win32 Api Calls "[/color]
    66. [Color=Blue]Public Class[/color] Win32
    67.  
    68.     [Color=Blue]Public Declare Function[/color] SendMessage [Color=Blue]Lib[/color] "user32.dll" [Color=Blue]Alias[/color] "SendMessageA" ([Color=Blue]ByVal[/color] hwnd [Color=Blue]As[/color] IntPtr, [Color=Blue]ByVal[/color] wMsg [Color=Blue]As[/color] [Color=Blue]Integer[/color], [Color=Blue]ByVal[/color] wParam [Color=Blue]As[/color] [Color=Blue]Integer[/color], [Color=Blue]ByVal[/color] lParam [Color=Blue]As[/color] [Color=Blue]String[/color]) [Color=Blue]As[/color] [Color=Blue]Integer
    69. [/color]    [Color=Blue]Public Declare Function[/color] SetToolColors [Color=Blue]Lib[/color] "user32.dll" [Color=Blue]Alias[/color] "SendMessageA" ([Color=Blue]ByVal[/color] hwnd [Color=Blue]As[/color] IntPtr, [Color=Blue]ByVal[/color] wMsg [Color=Blue]As[/color] [Color=Blue]Integer[/color], [Color=Blue]ByVal[/color] wParam [Color=Blue]As[/color] [Color=Blue]Integer[/color], [Color=Blue]ByVal[/color] lParam [Color=Blue]As[/color] [Color=Blue]Integer[/color]) [Color=Blue]As[/color] [Color=Blue]Integer
    70. [/color]    [Color=Blue]Public Declare Function[/color] GetWindowLong [Color=Blue]Lib[/color] "user32" [Color=Blue]Alias[/color] "GetWindowLongA" ([Color=Blue]ByVal[/color] hwnd [Color=Blue]As[/color] IntPtr, [Color=Blue]ByVal[/color] nIndex [Color=Blue]As[/color] [Color=Blue]Integer[/color]) [Color=Blue]As[/color] [Color=Blue]Integer
    71. [/color]    [Color=Blue]Public Declare Function[/color] SetWindowLong [Color=Blue]Lib[/color] "user32" [Color=Blue]Alias[/color] "SetWindowLongA" ([Color=Blue]ByVal[/color] hwnd [Color=Blue]As[/color] IntPtr, [Color=Blue]ByVal[/color] nIndex [Color=Blue]As[/color] [Color=Blue]Integer[/color], [Color=Blue]ByVal[/color] dwNewLong [Color=Blue]As[/color] [Color=Blue]Integer[/color]) [Color=Blue]As[/color] [Color=Blue]Integer
    72. [/color]    [Color=Blue]Public[/color] [Color=Blue]Const[/color] GWL_STYLE [Color=Blue]As[/color] [Color=Blue]Integer[/color] = (-16)
    73.  
    74. [Color=blue]End Class[/color]
    75. #[Color=Blue]End Region[/color]
    included is a zipped project.
    Attached Files Attached Files
    ~
    if a post is resolved, please mark it as [Resolved]
    protected string get_Signature(){return Censored;}
    [vbcode][php] please use code tags when posting any code [/php][/vbcode]

  2. #2
    Addicted Member Codehammer's Avatar
    Join Date
    Aug 2004
    Posts
    164

    Re: Full Color Balloon ToolTips with Icon / Title

    Remember to add this in you Program's Form Load:

    Registry Entry = Currentuser.software.microsoft.windows.currentversion.explorer.advanced

    Then add the key:
    enableballoontips
    DWORD=1

    I Figured this Out After a While, I Disabled the Tips cause They Annoy, Some Other People Might do the Same and think your Program Doesnt Work.
    Curiosity SKILLED the cat
    Google Talk from your Mobile phone

    Chat from your mobile or get an emulator like J2ME Wireless Toolkit 2.2

  3. #3
    Fanatic Member uniquegodwin's Avatar
    Join Date
    Jul 2005
    Location
    Chennai,India
    Posts
    694

    Re: Full Color Balloon ToolTips with Icon / Title

    Nice code
    Godwin

    Help someone else with what someone helped you!

  4. #4
    Fanatic Member cpatzer's Avatar
    Join Date
    Sep 2004
    Posts
    537

    Re: Full Color Balloon ToolTips with Icon / Title

    Great Code! Thanks. Just wondering though, how would I set things like ShowDelay and AlwaysActive? Tried settings these properties on the tooltip with no luck.

    Thanks,
    In life you can be sure of only two things... death and taxes. I'll take death.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width