3

我正在尝试在我的网格列表控件上设置 LVS_EX_FULLROWSELECT 样式,因为我想要全行选择。但是显然它没有任何效果。由于我还使用了许多其他样式,我想知道 LVS_EX_FULLROWSELECT 是否与其他样式有任何兼容性问题。任何人?以下是我设置的样式。

最初在基本列表控件类上设置了以下样式:

WS_CHILD|WS_BORDER|LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SINGLESEL

然后我尝试在派生的网格列表控件类中设置其他样式:

ListView_SetExtendedListViewStyleEx(sysId(), 0, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT);
4

2 回答 2

4

第二个参数是一个掩码,所以你需要:

ListView_SetExtendedListViewStyleEx(m_hWnd, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT);
于 2010-08-15T11:36:34.083 回答
2

您需要将 LVM_SETEXTENDEDLISTVIEWSTYLE消息发送到控件并指定LVS_EX_FULLROWSELECT扩展样式(来源:MS Support)。

编辑:

检查示例。有

ListView_SetExtendedListViewStyle(m_hWnd, ListView_GetExtendedListViewStyle(m_hWnd), VS_EX_FULLROWSELECT);

尝试使用ListView_GetExtendedListViewStyle(sysId())而不是0. 顺便说一句 -sysId()你的这个真的检索窗口句柄吗?这个名字听起来有些不同。

干杯。

于 2010-08-12T09:41:20.720 回答