Basic Univers
; Auteur : Soldat inconnu
; Date : 01/11/2006
; Description : Création de tooltips

ProcedureDLL.l  ToolTip_Create(GadgetID, Text.s) ; Create tooltip
 
  ToolTipID = CreateWindowEx_(0, "ToolTips_Class32", "", #WS_POPUP | #TTS_NOPREFIX, 0, 0, 0, 0, GadgetID, 0, GetModuleHandle_(0), 0)
  SendMessage_(ToolTipID, #TTM_SETTIPTEXTCOLOR, GetSysColor_(#COLOR_INFOTEXT), 0)
  SendMessage_(ToolTipID, #TTM_SETTIPBKCOLOR, GetSysColor_(#COLOR_INFOBK), 0)
  SendMessage_(ToolTipID, #TTM_SETMAXTIPWIDTH, 0, 180)
  Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO)
  Balloon\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
  Balloon\hWnd = GadgetID
  Balloon\uId = GadgetID
  Balloon\lpszText = @Text
  SendMessage_(ToolTipID, #TTM_ADDTOOL, 0, Balloon)
  ProcedureReturn ToolTipID
EndProcedure
ProcedureDLL.l ToolTip_Create2(GadgetID, Text.s, Title.s, Icon)
  ToolTipID = CreateWindowEx_(0, "ToolTips_Class32", "", #WS_POPUP | #TTS_NOPREFIX, 0, 0, 0, 0, GadgetID, 0, GetModuleHandle_(0), 0)
  SendMessage_(ToolTipID, #TTM_SETTIPTEXTCOLOR, GetSysColor_(#COLOR_INFOTEXT), 0)
  SendMessage_(ToolTipID, #TTM_SETTIPBKCOLOR, GetSysColor_(#COLOR_INFOBK), 0)
  SendMessage_(ToolTipID, #TTM_SETMAXTIPWIDTH, 0, 180)
  Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO)
  Balloon\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
  Balloon\hWnd = GadgetID
  Balloon\uId = GadgetID
  Balloon\lpszText = @Text
  SendMessage_(ToolTipID, #TTM_ADDTOOL, 0, Balloon)
  If Title > ""
    SendMessage_(ToolTipID, #TTM_SETTITLE, Icon, @Title)
  EndIf
  ProcedureReturn ToolTipID
EndProcedure

ProcedureDLL ToolTip_SetText(ToolTipID, GadgetID, Text.s) ; Set tooltip text, title and icon
  Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO)
  Balloon\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
  Balloon\hWnd = GadgetID
  Balloon\uId = GadgetID
  Balloon\lpszText = @Text
  SendMessage_(ToolTipID, #TTM_SETTOOLINFO, 0, Balloon)
EndProcedure
ProcedureDLL ToolTip_SetText2(ToolTipID, GadgetID, Text.s, Title.s, Icon)
  Balloon.TOOLINFO\cbSize = SizeOf(TOOLINFO)
  Balloon\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
  Balloon\hWnd = GadgetID
  Balloon\uId = GadgetID
  Balloon\lpszText = @Text
  SendMessage_(ToolTipID, #TTM_SETTOOLINFO, 0, Balloon)
  If Title > ""
    SendMessage_(ToolTipID, #TTM_SETTITLE, Icon, @Title)
  EndIf
EndProcedure

ProcedureDLL ToolTip_SetWidth(ToolTipID, Width) ; Set tooltip width
  SendMessage_(ToolTipID, #TTM_SETMAXTIPWIDTH, 0, Width)
EndProcedure

ProcedureDLL ToolTip_Color(ToolTipID, ColorText, ColorBackGround) ; Set tooltip color
  SendMessage_(ToolTipID, #TTM_SETTIPTEXTCOLOR, ColorText, 0)
  SendMessage_(ToolTipID, #TTM_SETTIPBKCOLOR, ColorBackGround, 0)
EndProcedure