lt. https://learn.microsoft.com/de-de/windo ... rl-lvitema
gibt die Struktur LVITEMA im Callback von einem LIG den Pointer auf ein Array zurück, welches die aktuell dargestellten
Spalten in der entsprechenden Reihenfolge enthält. Soweit so gut.

Aber irgendwie sitze ich momentan voll auf der Leitung, wie ich auf dieses Array puColumns zugreifen kann?
Aktueller Codeausschnitt aus dem Callback:
Code: Alles auswählen
Procedure.i Callback(result, hwnd, msg, wParam, lParam)
Protected idx.i
Protected *Data.LIG_SubClassInfo
Protected *pnmh.NMHEADER
Protected *pnmlvdi.NMLVDISPINFO
Protected *NMLVCUSTOMDRAW.NMLVCUSTOMDRAW
Protected HitInfo.LVHITTESTINFO
Protected OffX.i, OffY.i, img_offset.i
Protected PBWinID.i
Static fieldtxt.s ; WICHTIG! Muss unbedingt als STATIC deklariert werden!
If IsGadget(wParam)
If GadgetType(wParam) = #PB_GadgetType_ListIcon
*Data = GetProp_(GadgetID(wParam), "_LIG_SubClassInfo")
If *Data
Select msg
Case #WM_NOTIFY
*NMLVCUSTOMDRAW = lParam
*pnmh = lParam
Select *pnmh\hdr\code
Case #LVN_ODCACHEHINT
result = 0
Case #LVN_ODFINDITEM
result = -1
Case #LVN_GETDISPINFO
*pnmlvdi = lParam
If *pnmlvdi\item\mask & (#LVIF_TEXT | #LVIF_IMAGE | #LVIF_STATE)
If *pnmlvdi\item\mask & #LVIF_TEXT
*pnmlvdi\item\puColumns - tja und nu? :-)
; Debug "Row: "+Str(*pnmlvdi\item\iItem)+", Column: "+Str(*pnmlvdi\item\iSubItem)
EndIf
If *Data\Enable_ColumnSort
If SelectElement(*Data\LIG_RowSortRef(), *pnmlvdi\item\iItem)
idx = *Data\LIG_RowSortRef()
Else
idx = 0
EndIf
Else
idx = *pnmlvdi\item\iItem
EndIf
If SelectElement(*Data\LIG_Data(), idx)
; Checkbox
If *pnmlvdi\item\iSubItem = 0 And *pnmlvdi\item\mask & #LVIF_STATE
*pnmlvdi\item\stateMask = #LVIS_STATEIMAGEMASK
If *Data\Disabled : img_offset = 5 : EndIf ; Offset für Umschaltung auf "ausgegraute" Bildelemente
*pnmlvdi\item\state = (*Data\LIG_Data()\checkbox_state + 1 + img_offset) << 12
EndIf
; Text
If *pnmlvdi\item\mask & #LVIF_TEXT
fieldtxt = ""
If SelectElement(*Data\LIG_Data()\value(), *pnmlvdi\item\iSubItem)
fieldtxt = *Data\LIG_Data()\value()
EndIf
*pnmlvdi\item\pszText = @fieldtxt
EndIf
; Icon
If *pnmlvdi\item\mask & #LVIF_IMAGE
If SelectElement(*Data\LIG_Data()\property(), *pnmlvdi\item\iSubItem)
*pnmlvdi\item\iImage = *Data\LIG_Data()\property()\icon
EndIf
EndIf
result = #True
EndIf
EndIf
