The WM_DRAWITEM message gives you in lParam a pointer to a DRAWITEMSTRUCT.
The itemState member can assume, under Win7-64, one or more of these values:
ODS_SELECTED equ 1h
ODS_GRAYED equ 2h
ODS_DISABLED equ 4h
ODS_CHECKED equ 8h
ODS_FOCUS equ 10h
ODS_DEFAULT equ 20h
ODS_COMBOBOXEDIT equ 1000h
ODS_HOTLIGHT equ 40h
ODS_INACTIVE equ 80hHere are some not contained in Windows.inc:
#if(WINVER >= 0x0500)
#define ODS_HOTLIGHT 0x0040
#define ODS_INACTIVE 0x0080
#if(_WIN32_WINNT >= 0x0500)
#define ODS_NOACCEL 0x0100
#define ODS_NOFOCUSRECT 0x0200
When clicking on a pushbutton, on Win7-64 I get one of these two item states:
10h=ODS_FOCUS
11h=ODS_FOCUS or ODS_SELECTEDOn Win10, it's different:
310h=ODS_FOCUS or ODS_NOACCEL or ODS_NOFOCUSRECT
311h=ODS_FOCUS or ODS_SELECTED or ODS_NOACCEL or ODS_NOFOCUSRECTThe practical relevance is limited, but I guess it's good to know
