PNMCustomDraw
PNMTVCustomDraw
TNMCustomDraw
TNMTVCustomDraw
CDDS_ITEM
CDDS_ITEMPOSTERASE
CDDS_ITEMPOSTPAINT
CDDS_ITEMPREERASE
CDDS_ITEMPREPAINT
CDDS_POSTERASE
CDDS_POSTPAINT
CDDS_PREERASE
CDDS_PREPAINT
CDIS_CHECKED
CDIS_DEFAULT
CDIS_DISABLED
CDIS_FOCUS
CDIS_GRAYED
CDIS_HOT
CDIS_SELECTED
CDRF_DODEFAULT
CDRF_NEWFONT
CDRF_NOTIFYITEMDRAW
CDRF_NOTIFYITEMERASE
CDRF_NOTIFYPOSTERASE
CDRF_NOTIFYPOSTPAINT
CDRF_SKIPDEFAULT
NM_CUSTOMDRAW
PNMCustomDraw = ^TNMCustomDraw
PNMTVCustomDraw = ^TNMTVCustomDraw
item specific data
TNMCustomDraw = record
hdr : TNMHdr;
dwDrawStage : DWORD;
hdc : HDC;
rc : TRect;
dwItemSpec : DWORD;
uItemState : UINT;
lItemlParam : LPARAM;
end;
TNMTVCustomDraw = record
nmcd : TNMCustomDraw;
clrText : COLORREF;
clrTextBk : COLORREF;
end;
CDDS_ITEM = $00010000
the = $000010000 bit means it's individual item specific
CDDS_ITEMPOSTERASE = (CDDS_ITEM OR CDDS_POSTERASE)
CDDS_ITEMPOSTPAINT = (CDDS_ITEM OR CDDS_POSTPAINT)
CDDS_ITEMPREERASE = (CDDS_ITEM OR CDDS_PREERASE)
CDDS_ITEMPREPAINT = (CDDS_ITEM OR CDDS_PREPAINT)
CDDS_POSTERASE = $00000004
CDDS_POSTPAINT = $00000002
CDDS_PREERASE = $00000003
CDDS_PREPAINT = $00000001
drawstage flags values under = $00010000 are reserved for global custom draw values. above that are for specific controls
CDIS_CHECKED = $0008
CDIS_DEFAULT = $0020
CDIS_DISABLED = $0004
CDIS_FOCUS = $0010
CDIS_GRAYED = $0002
CDIS_HOT = $0040
CDIS_SELECTED = $0001
itemState flags (compare with ODS_ constants
CDRF_DODEFAULT = $00000000
sub code of WM_NOTIFY The following values were taken from commtrl.h, since they aren't currently part of CommCtrl.pas. ==================== CUSTOM DRAW ========================================== custom draw return flags values under = $00010000 are reserved for global custom draw values. above that are for specific controls
CDRF_NEWFONT = $00000002
CDRF_NOTIFYITEMDRAW = $00000020
CDRF_NOTIFYITEMERASE = $00000080
CDRF_NOTIFYPOSTERASE = $00000040
CDRF_NOTIFYPOSTPAINT = $00000010
CDRF_SKIPDEFAULT = $00000004
NM_CUSTOMDRAW = NM_FIRST-12