Page 1 sur 1

Tooltip

Publié : mer. 01/nov./2006 16:31
par Le Soldat Inconnu
Ah mon dieu, un revenant :roll:
Il est vrai que ca fait un baille que je ne suis pas passé sur le forum, toutes mes excuses mais je n'ai pas vraiment eu le temps de me plonger dessus. Pas que je ne programme plus, au contraire ....

Donc voila, j'ai ajouté une petite librairie sur mon site pour personnaliser vos tooltips :
- Couleur
- Titre et icone sur le tooltip
- Changer le texte, le titre ou l'icone
- changer la largeur du tooltip

Mais ce qui est intéressant, c'est de pour voir faire des tooltips sur plusieurs lignes

donc voir sur mon site (librairie + exemple)


et sinon, le code de la librairie est pas méchant, je le mets ici :

Code : Tout sélectionner

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
Sinon, j'en profite pour dire que j'ai refais une passe sur mes librairies, notamment ButtonImageEx (un joli bug retiré) et ToolBarXP

Voila, le passage fut cours. ++