现在的位置: 首页 > 综合 > 正文

响应LVN_GETDISPINFO消息中的结构LV_DISPINFO

2013年11月26日 ⁄ 综合 ⁄ 共 745字 ⁄ 字号 评论关闭

 响应LVN_GETDISPINFO消息后我们可以通过结构体内容去更新列表控件,使更新CListCtrl内容变得非常简单了,但是在第一次使用这个的时候,拿到LV_DISPINFO消息却无从下手,现在做个笔记了。

 

我们看到了关于LV_DISPINFO宏:
LV_DISPINFO* pDispInfo = (LV_DISPINFO*)pNMHDR;
一步一步的追踪LV_DISPINFO如下:
#define LV_DISPINFO     NMLVDISPINFO在追踪

#ifdef UNICODE
#define  NMLVDISPINFO           NMLVDISPINFOW
#else
#define  NMLVDISPINFO           NMLVDISPINFOA
#endif

对NMLVDISPINFOA进行追踪
typedef struct tagLVDISPINFO {
    NMHDR hdr;//找到了这个
    LVITEMA item;
} NMLVDISPINFOA, FAR *LPNMLVDISPINFOA;

//UNICODE和这个一样,只是tagLVITEMA总的A改为W而已
typedef struct tagLVITEMA
{
    UINT mask;
    int iItem;
    int iSubItem;
    UINT state;
    UINT stateMask;
    LPSTR pszText;
    int cchTextMax;
    int iImage;
    LPARAM lParam;
#if (_WIN32_IE >= 0x0300)
    int iIndent;
#endif
} LVITEMA, FAR* LPLVITEMA;

因此我们还是可以通过一定的结构转换后,就可以得到常用的项和列号,文本等信息了。

抱歉!评论已关闭.