; Оригинал
Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
$pParam = _GUICtrlListView_GetItemParam($hWndFrom, $iItem)
$tParam = DllStructCreate('int[10]', $pParam) ; Две строки с функционалом массива в одной строке
$iColor = DllStructGetData($tParam, 1, $iSubItem + 1)
If $iColor = 0 Then $iColor = 0xFDFFB9
DllStructSetData($tNMLVCD, 'clrTextBk', _BGRColor($iColor))
Return $CDRF_NEWFONT
; Создание массива
Global $aiColor[10] = [0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9, 0xFDFFB9]
; Вариант с массивом
Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
$aiColor = _GUICtrlListView_GetItemParam($hWndFrom, $iItem)
$iColor = $aiColor[$iSubItem + 1] ; И то это строку можно считать лишней, так как можно использовать саму ячейку
If $iColor = 0 Then $iColor = 0xFDFFB9
DllStructSetData($tNMLVCD, 'clrTextBk', _BGRColor($iColor))
Return $CDRF_NEWFONT
; или даже так
Case BitOR($CDDS_ITEMPREPAINT, $CDDS_SUBITEM)
$aiColor = _GUICtrlListView_GetItemParam($hWndFrom, $iItem)
If $aiColor[$iSubItem] = 0 Then $aiColor[$iSubItem] = 0xFDFFB9
DllStructSetData($tNMLVCD, 'clrTextBk', _BGRColor($aiColor[$iSubItem]))
Return $CDRF_NEWFONT