在Win32应用程序中,我有一个带有列表控件的对话框,其中定义了对话框模板:
CONTROL "",IDC_LIST_Attributes,"SysListView32",LVS_REPORT |
LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,36,246,110
在运行时,我检索该控件的句柄并使用它执行不同的操作 - 删除所有项目,添加项目等。它工作正常。
问题是我无法以编程方式将项目标记为已选中。我使用以下代码:
LVITEM lvItem;
lvItem.stateMask = stateMask;
lvItem.state = state;
SendMessage( windowHandle, LVM_SETITEMSTATE, indexToSelect, (LPARAM)&lvItem);
此代码运行,列表控件不会发生任何更改。当我使用鼠标对项目进行clisk时,他们被选中了。我错过了什么?
答案 0 :(得分:1)
您是否尝试过ListView_SetItemState Macro?
来自MSDN链接:
项目仅显示为选中的if 列表视图控件具有焦点或 使用LVS_SHOWSELALWAYS样式。
Another Link我的帮助。