LVS_EX_FULLROWSELECT与其他样式有任何兼容性问题吗?

时间:2010-08-11 13:42:37

标签: c++ listview mfc clistctrl common-controls

我正在尝试在网格列表控件上设置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);

2 个答案:

答案 0 :(得分:4)

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

ListView_SetExtendedListViewStyleEx(m_hWnd, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT);

答案 1 :(得分:2)

您需要向控件发送LVM _ SETEXTENDEDLISTVIEWSTYLE消息并指定LVS_EX_FULLROWSELECT扩展样式(来源:MS Support)。

修改

检查示例。有

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

尝试使用ListView_GetExtendedListViewStyle(sysId())代替0。 BTW - 你的sysId()真的检索窗口句柄吗?这个名字听起来有些不同。

干杯。