Code:
WM_NOTIFY [COLOR="#FF0000"]=[/COLOR] 0x4E CDDS_PREPAINT [COLOR="#FF0000"]=[/COLOR] 0x00000001 CDDS_ITEM [COLOR="#FF0000"]=[/COLOR] 0x00010000 CDDS_PREPAINT [COLOR="#FF0000"]=[/COLOR] 0x00000001 CDDS_ITEMPREPAINT [COLOR="#FF0000"]=[/COLOR] CDDS_ITEM + CDDS_PREPAINT CDRF_NOTIFYITEMDRAW [COLOR="#FF0000"]=[/COLOR] 0x00000020 CDRF_NOTIFYSUBITEMDRAW [COLOR="#FF0000"]=[/COLOR] 0x00000020 CDRF_SKIPDEFAULT [COLOR="#FF0000"]=[/COLOR] 0x00000004 CDRF_DODEFAULT [COLOR="#FF0000"]=[/COLOR] 0x00000000 CDDS_SUBITEM [COLOR="#FF0000"]=[/COLOR] 0x00020000 CDRF_NEWFONT [COLOR="#FF0000"]=[/COLOR] 0x00000002 Subclass[COLOR="#FF0000"].[/COLOR]Create(Application[COLOR="#FF0000"].[/COLOR]GetWndHandle()[COLOR="#FF0000"],[/COLOR] [COLOR="#0000FF"]function[/COLOR](hWnd[COLOR="#FF0000"],[/COLOR] uMsg[COLOR="#FF0000"],[/COLOR] wParam[COLOR="#FF0000"],[/COLOR] lParam) [COLOR="#0000FF"]if[/COLOR] (uMsg [COLOR="#FF0000"]==[/COLOR] WM_NOTIFY) [COLOR="#0000FF"]then[/COLOR] [COLOR="#0000FF"]local[/COLOR] nmhdr [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]AssignStruct(lParam[COLOR="#FF0000"],[/COLOR] NMHDR) [COLOR="#0000FF"]if[/COLOR] (nmhdr[COLOR="#FF0000"].[/COLOR]hWndFrom [COLOR="#FF0000"]==[/COLOR] LVHDL) [COLOR="#0000FF"]then[/COLOR] [COLOR="#0000FF"]if[/COLOR] (nmhdr[COLOR="#FF0000"].[/COLOR]code [COLOR="#FF0000"]==[/COLOR] [COLOR="#000000"]4294967284[/COLOR]) [COLOR="#0000FF"]then[/COLOR] [COLOR="#0000FF"]local[/COLOR] nmlv [COLOR="#FF0000"]=[/COLOR] MemoryEx[COLOR="#FF0000"].[/COLOR]AssignStruct(lParam[COLOR="#FF0000"],[/COLOR] NMLVCUSTOMDRAW) [COLOR="#0000FF"]if[/COLOR] (nmlv[COLOR="#FF0000"].[/COLOR]nmcd[COLOR="#FF0000"].[/COLOR]dwDrawStage [COLOR="#FF0000"]==[/COLOR] CDDS_PREPAINT) [COLOR="#0000FF"]then[/COLOR] [COLOR="#0000FF"]return[/COLOR] CDRF_NOTIFYITEMDRAW [COLOR="#0000FF"]end[/COLOR] [COLOR="#0000FF"]if[/COLOR] (nmlv[COLOR="#FF0000"].[/COLOR]nmcd[COLOR="#FF0000"].[/COLOR]dwDrawStage [COLOR="#FF0000"]==[/COLOR] CDDS_ITEMPREPAINT) [COLOR="#0000FF"]then[/COLOR] [COLOR="#0000FF"]return[/COLOR] CDRF_NOTIFYSUBITEMDRAW [COLOR="#0000FF"]end[/COLOR] [COLOR="#0000FF"]if[/COLOR] (nmlv[COLOR="#FF0000"].[/COLOR]nmcd[COLOR="#FF0000"].[/COLOR]dwDrawStage [COLOR="#FF0000"]==[/COLOR] CDDS_SUBITEM + CDDS_ITEMPREPAINT) [COLOR="#0000FF"]then[/COLOR] [COLOR="#008000"]--nmlv.nmcd.dwItemSpec is the row[/COLOR] [COLOR="#008000"]--nmlv.iSubItem is the column[/COLOR] [COLOR="#008000"]--return CDRF_NEWFONT return if changed any given colours or fonts[/COLOR] [COLOR="#0000FF"]return[/COLOR] CDRF_DODEFAULT [COLOR="#0000FF"]end[/COLOR] [COLOR="#0000FF"]end[/COLOR] [COLOR="#0000FF"]end[/COLOR] [COLOR="#0000FF"]end[/COLOR] [COLOR="#0000FF"]return[/COLOR] Subclass[COLOR="#FF0000"].[/COLOR]OldWinProc(hWnd[COLOR="#FF0000"],[/COLOR] uMsg[COLOR="#FF0000"],[/COLOR] wParam[COLOR="#FF0000"],[/COLOR] lParam); [COLOR="#0000FF"]end[/COLOR]) [COLOR="#008000"]--LVHDL is ListView handle[/COLOR]
Code:
NM_FIRST = 0 NM_CUSTOMDRAW = NM_FIRST -12
Code:
NM_FIRST = 0 NM_CLICK = NM_FIRST -2
Leave a comment: