Results 1 to 4 of 4

Thread: Full Color Balloon ToolTips with Icon / Title

Threaded View

  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]

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