NMLVCUSTOMDRAW 是 Win32 API 中的一个结构体,用于通知消息 NM_CUSTOMDRAW 中,与 Windows 控件中的列表视图(ListView)相关。这个结构体用于传递有关自定义绘制的信息。结构体的定义如下:
typedef struct tagNMLVCUSTOMDRAW {
    NMCUSTOMDRAW nmcd;
    COLORREF     clrText;
    COLORREF     clrTextBk;
    int          iSubItem;
    DWORD        dwItemType;
  #if (_WIN32_IE >= 0x0400)
    int          clrFace;
    int          iIconEffect;
    int          iIconPhase;
    int          iPartId;
    int          iStateId;
    RECT         rcText;
    UINT         uAlign;
  #endif
} NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW;

结构体成员的含义如下:

  •  nmcd: NMCUSTOMDRAW 结构体,包含有关绘制的一般信息。

  •  clrText: 表示文本的颜色。

  •  clrTextBk: 表示文本背景的颜色。

  •  iSubItem: 表示与绘制相关的子项索引。

  •  dwItemType: 表示项的类型。

  •  clrFace: 用于 XP 样式的额外面部颜色。

  •  iIconEffect: 表示图标效果。

  •  iIconPhase: 表示图标阶段。

  •  iPartId: 表示部分的标识符。

  •  iStateId: 表示状态的标识符。

  •  rcText: 表示文本的矩形区域。

  •  uAlign: 表示文本的对齐方式。


NMLVCUSTOMDRAW 结构体通常用于自定义绘制列表视图中的项。应用程序可以通过检查结构体中的成员,自定义项的绘制效果,包括文本颜色、背景颜色、图标效果等。

请注意,NMLVCUSTOMDRAW 结构体的具体成员可能受到 Windows 版本的影响,部分成员可能需要在使用之前检查 Windows 版本。


转载请注明出处:http://www.zyzy.cn/article/detail/24925/Win32 API/Commctrl.h/NMLVCUSTOMDRAW