Procedure CreateToolTip()
Protected ToolInfo.ToolInfo
Global Tooltip.l
#TTF_TRANSPARENT = $100
Tooltip = CreateWindowEx_ (0, "tooltips_class32" , 0 , #WS_POPUP |#TTS_ALWAYSTIP,0, 0, 0, 0, 0, 0, 0, 0)
SendMessage_ (Tooltip, #TTM_SETTIPTEXTCOLOR , RGB (0, 85, 223), 0)
SendMessage_ (Tooltip, #TTM_SETTIPBKCOLOR , RGB (255, 255, 223), 0)
SendMessage_ (Tooltip, #TTM_SETMAXTIPWIDTH , 0, 300)
SendMessage_ (Tooltip, #TTM_SETTITLE , #TTI_INFO , "" )
SendMessage_ (Tooltip, #TTM_SETDELAYTIME , #TTDT_AUTOPOP ,3000) ;Durée de l'apparition du Tooltip
SendMessage_ (Tooltip, #TTM_SETDELAYTIME , #TTDT_INITIAL ,500) ;Délai avant l'apparition du Tooltip
EndProcedure
Procedure ModifyToolTip(ID_Window.l,ID_Gadget.l,Title.s,Text.s)
Static ToolInfo.ToolInfo
SendMessage_ (Tooltip, #TTM_ACTIVATE ,0,0)
SendMessage_ (Tooltip, #TTM_DELTOOL ,0, @ToolInfo)
ToolInfo\cbSize = SizeOf (ToolInfo)
ToolInfo\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS | #TTF_TRANSPARENT
ToolInfo\hwnd = WindowID (ID_Window)
ToolInfo\uId = ToolBarID (ID_Gadget)
ToolInfo\lpszText = @Text
GetClientRect_ ( ToolBarID (ID_Gadget), @ToolInfo\rect)
SendMessage_ (Tooltip, #TTM_ADDTOOL , 0, @ToolInfo)
SendMessage_ (Tooltip, #TTM_SETTITLE , #TTI_INFO , Title)
SendMessage_ (Tooltip, #TTM_ACTIVATE ,1,0)
EndProcedure
Procedure Callback(hwnd, msg, wParam, lParam)
result= #PB_ProcessPureBasicEvents
Select msg
Case #WM_NOTIFY
*pnmhdr.NMTBHOTITEM= lParam
If *pnmhdr\hdr\code = -713 ;#TBN_HOTITEMCHANGE
Select *pnmhdr\idnew
Case 1
ModifyToolTip(0,0, "Nouveau:" , "Ouvre un document vierge" )
Case 2
ModifyToolTip(0,0, "Ouvrir:" , "Charge un nouveau fichier" )
Case 3
ModifyToolTip(0,0, "Sauver:" , "Enregistre le fichier en cours" )
Default
SendMessage_ (Tooltip, #TTM_ACTIVATE ,0,0)
EndSelect
EndIf
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow (0, 0, 0, 220, 220, "ToolTip" , #PB_Window_SystemMenu | #PB_Window_ScreenCentered )
SetWindowCallback (@Callback(),0)
CreateGadgetList ( WindowID (0))
If CreateToolBar (0, WindowID (0))
ToolBarStandardButton (1, #PB_ToolBarIcon_New )
ToolBarStandardButton (2, #PB_ToolBarIcon_Open )
ToolBarStandardButton (3, #PB_ToolBarIcon_Save )
ToolBarSeparator ()
ToolBarStandardButton (4, #PB_ToolBarIcon_Print )
ToolBarStandardButton (5, #PB_ToolBarIcon_Find )
ToolBarSeparator ()
EndIf
CreateToolTip()
Repeat
Event = WaitWindowEvent ()
Until Event = #PB_Event_CloseWindow
EndIf
Tooltip et Toolbar
Tooltip et Toolbar
Je n'aime pas les Tooltips par défaut de la Toolbar alors j'ai créer cette petite procédure:
Dernière modification par nico le mer. 23/avr./2008 21:14, modifié 1 fois.