NMLVCUSTOMDRAW跟drawitemstructer的区别
NMLVCUSTOMDRAW和drawitemstructer的区别
请用理论解答区别
这2者的结构体都贴出来了。 看起来,前者提供的成员更多, 而且有 id, 有hdc,有区域大小。
2者都有, 为什么前者说是轻量级的???
请用理论解答区别
typedef struct tagNMLVCUSTOMDRAW {
NMCUSTOMDRAW nmcd;
COLORREF clrText;
COLORREF clrTextBk;
#if (_WIN32_IE >= 0x0400)
int iSubItem;
#endif
#if (_WIN32_IE >= 0x0560)
DWORD dwItemType;
COLORREF clrFace;
int iIconEffect;
int iIconPhase;
int iPartId;
int iStateId;
RECT rcText;
UINT uAlign;
#endif
} NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;
typedef struct tagNMCUSTOMDRAWINFO {
NMHDR hdr;
DWORD dwDrawStage;
HDC hdc;
RECT rc;
DWORD_PTR dwItemSpec;
UINT uItemState;
LPARAM lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;
typedef struct tagDRAWITEMSTRUCT {
UINT CtlType;
UINT CtlID;
UINT itemID;
UINT itemAction;
UINT itemState;
HWND hwndItem;
HDC hDC;
RECT rcItem;
ULONG_PTR itemData;
} DRAWITEMSTRUCT;
这2者的结构体都贴出来了。 看起来,前者提供的成员更多, 而且有 id, 有hdc,有区域大小。
2者都有, 为什么前者说是轻量级的???
文章评论
相关解决方案