
Ne me proposez pas de Lib, ce n'est pas là mon Pb!
Code : Tout sélectionner
#TTF_TRANSPARENT=$100
#TTF_TRACK=$20
#TTF_ABSOLUTE=$80
Global hToolTip,ti.TOOLINFO
Procedure CreateToolTip(hParent)
icex.INITCOMMONCONTROLSEX
ti.TOOLINFO
icex\dwSize = SizeOf(icex)
icex\dwICC = #ICC_WIN95_CLASSES
InitCommonControlsEx_(@icex)
sczTipText.s="Texte"
sczTipTitle.s="Title"
hToolTip = CreateWindowEx_(#WS_EX_TOPMOST, "ToolTips_Class32", "",#WS_POPUP| #TTS_NOPREFIX | #TTS_ALWAYSTIP,#CW_USEDEFAULT, #CW_USEDEFAULT,#CW_USEDEFAULT, #CW_USEDEFAULT,#Null,0, GetModuleHandle_(0),#Null)
ti\cbSize = SizeOf(TOOLINFO)
ti\uFlags = #TTF_IDISHWND | #TTF_TRACK | #TTF_ABSOLUTE ;| #TTF_TRANSPARENT
ti\hwnd = hParent
ti\uId = hParent
ti\hinst = GetModuleHandle_(0)
ti\lpszText = @sczTipText
SendMessage_(hToolTip,#TTM_ADDTOOL,0,@ti)
SendMessage_(hToolTip, #TTM_SETMAXTIPWIDTH, 0, 300)
If sczTipTitle>""
SendMessage_(hToolTip, #TTM_SETTITLE, 1, sczTipTitle)
EndIf
SendMessage_(hToolTip,#TTM_TRACKACTIVATE,1,@ti)
EndProcedure
If OpenWindow(0, 100, 100, 400, 300, #PB_Window_SystemMenu | #PB_Window_TitleBar, "BallonTip")
CreateToolTip(WindowID(0))
Repeat
EventID.l=WaitWindowEvent()
Select EventID
Case #WM_MOUSEMOVE
point.POINT\x=EventlParam()& $FFFF
point.POINT\y=EventlParam() >>16
ClientToScreen_(WindowID(0),@point)
SendMessage_(hToolTip, #TTM_TRACKPOSITION, 0,((point\y+14)<<16)+point\x+14)
EndSelect
Until EventID = #PB_EventCloseWindow
EndIf
End