Unit CustomDraw

Classes

Functions

Types

PNMCustomDraw
PNMTVCustomDraw
TNMCustomDraw
TNMTVCustomDraw

Constants

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

Variables


Functions


Types


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;

Constants

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


Variables