Verfasst: 18.10.2006 22:13
Code: Alles auswählen
Declare WindowCallback(hWnd.l,uMsg.l,wParam.l,lParam.l)
#LVS_EX_INFOTIP = $00000400
#LVN_GETINFOTIPA = (#LVN_FIRST-57)
#LVN_GETINFOTIPW = (#LVN_FIRST-58)
#LVM_SETEXTENDEDLISTVIEWSTYLE = (#LVM_FIRST + 54)
Global lpBuffer.l
OpenWindow(0,0,0,400,300,"untitled",#WS_OVERLAPPEDWINDOW | 1)
CreateGadgetList(WindowID(0))
ListIconGadget(0,5,5,0,0,"Name",350)
For i=1 To 50 : AddGadgetItem(0,-1,"Untitled ListView32 Item #" + Str(i)) : Next
SendMessage_(GadgetID(0),#LVM_SETEXTENDEDLISTVIEWSTYLE,0,#LVS_EX_INFOTIP)
SetWindowCallback(@WindowCallback())
; ------------------------------------------------------------------------
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_SizeWindow
ResizeGadget(0,#PB_Ignore,#PB_Ignore,WindowWidth(0)-10,WindowHeight(0)-10)
EndIf
Until EventID = 16
; ------------------------------------------------------------------------
Procedure WindowCallback(hWnd.l,uMsg.l,wParam.l,lParam.l)
Select uMsg
Case #WM_NOTIFY
*pnmh.NMHDR = lParam
If *pnmh\code = #LVN_GETINFOTIPA
*pnml.NMLVGETINFOTIP = lParam
lpBuffer = ReAllocateMemory(lpBuffer,80)
PokeS(lpBuffer,GetGadgetItemText(0,*pnml\iItem,0))
*pnml\pszText = lpBuffer
EndIf
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure