我正在尝试在网格列表控件上设置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);
答案 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()
真的检索窗口句柄吗?这个名字听起来有些不同。
干杯。