naja hier mal ein kleines Beispiel wie es gehen koennte
Beispiel :
Code: Alles auswählen
Structure HITTESTINFO
pt.POINT
flags.l
iItem.l
EndStructure
#HDM_HITTEST = #HDM_FIRST + 6
#LVM_GETHEADER = #LVM_FIRST + 31
#window = 0
#listview = 0
Procedure Callback(hwnd,msg,wParam,lParam)
Protected old = GetWindowLong_(hwnd,#GWL_USERDATA)
Protected ht.HITTESTINFO
If Not old : ProcedureReturn 0 : EndIf
If msg = #WM_SETCURSOR
ProcedureReturn 0
EndIf
If msg = #WM_LBUTTONDBLCLK
ProcedureReturn 0
EndIf
If msg = #WM_LBUTTONDOWN
ht\pt\x = lParam & $FFFF
ht\pt\y = (lParam >> 16) & $FFFF
SendMessage_(hwnd,#HDM_HITTEST,0,@ht)
If (ht\flags & #HHT_ONDIVIDER ) = #HHT_ONDIVIDER
ProcedureReturn 0
EndIf
EndIf
ProcedureReturn CallWindowProc_(old,hwnd,msg,wParam,lParam)
EndProcedure
Procedure StopResize(gadget)
If IsGadget(gadget)
Protected Header = SendMessage_(GadgetID(gadget),#LVM_GETHEADER,0,0)
Protected old = SetWindowLong_(Header,#GWL_WNDPROC,@Callback())
ProcedureReturn SetWindowLong_(Header,#GWL_USERDATA,old)
EndIf
EndProcedure
hwnd = OpenWindow(#window,#PB_Ignore,#PB_Ignore,400,400,"")
CreateGadgetList(hwnd)
ListIconGadget(#listview,0,0,400,400,"blub1",150) : StopResize(#listview)
AddGadgetColumn(#listview,1,"blub2",150)
Repeat
Until WaitWindowEvent() = #WM_CLOSE