Code: Select all
#TVM_MAPHTREEITEMTOACCID = #TV_FIRST + 43
LoadFont(0,"Georgia",12)
OpenWindow(0,0,0,400,300,"TreeView ToolTips",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
TreeGadget(0,10,10,380,280)
SetGadgetColor(0,#PB_Gadget_BackColor,0)
SetGadgetColor(0,#PB_Gadget_FrontColor,$059DEF)
SetWindowLongPtr_(GadgetID(0), #GWL_STYLE, GetWindowLongPtr_(GadgetID(0), #GWL_STYLE)|#TVS_TRACKSELECT )
For a = 0 To 10
AddGadgetItem (0, -1, "Normal Item "+Str(a), 0, 0)
AddGadgetItem (0, -1, "Node "+Str(a), 0, 0)
AddGadgetItem(0, -1, "Sub-Item 1", 0, 1)
AddGadgetItem(0, -1, "Sub-Item 2", 0, 1)
AddGadgetItem(0, -1, "Sub-Item 3", 0, 1)
AddGadgetItem(0, -1, "Sub-Item 4", 0, 1)
AddGadgetItem (0, -1, "File "+Str(a), 0, 0)
Next
ttip = CreateWindowEx_(0, "Tooltips_Class32", "", #TTS_ALWAYSTIP|#TTS_BALLOON, 0, 0, 0, 0, 0, 0, 0, 0)
SetWindowTheme_(ttip, @null.w, @null.w)
SendMessage_(ttip,#WM_SETFONT,FontID(0),0)
SendMessage_(ttip,#TTM_SETTIPTEXTCOLOR,$0202FD,0)
SendMessage_(ttip,#TTM_SETTIPBKCOLOR,$DCFFFF,0)
SendMessage_(ttip, #TTM_SETMAXTIPWIDTH, 0, 150)
SendMessage_(ttip, #TTM_SETDELAYTIME, #TTDT_AUTOMATIC,200)
ti.TOOLINFO
ti\cbSize = SizeOf(ti)
ti\uFlags = #TTF_IDISHWND | #TTF_SUBCLASS
ti\uId= GadgetID(0)
tv.TV_HITTESTINFO
r.RECT
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0
EndSelect
Case #WM_MOUSEMOVE
GetCursorPos_(@tv\pt)
ScreenToClient_(GadgetID(0),@tv\pt)
h = SendMessage_(GadgetID(0),#TVM_HITTEST,0,tv)
r\left = h
SendMessage_(GadgetID(0),#TVM_GETITEMRECT,1,@r)
If tv\pt\x <= r\right And tv\hItem > 0 And tv\hItem <> hItemOld
SendMessage_(ttip, #TTM_DELTOOL, 0, ti)
SendMessage_(GadgetID(0),#TVM_SELECTITEM,#TVGN_CARET,tv\hItem)
Text$ ="ToolTip for Item "+Str(GetGadgetState(0))+" SubLevel : "+Str(GetGadgetItemAttribute(0, GetGadgetState(0), #PB_Tree_SubLevel ))
SendMessage_(ttip, #TTM_SETDELAYTIME, #TTDT_INITIAL,10)
ti\lpszText = @Text$
SendMessage_(ttip, #TTM_ADDTOOL, 0, ti)
hItemOld = tv\hItem
EndIf
EndSelect
Until Quit = 1
End