我有CListCtrl
,其中有2列和多行。我想获取所选行的索引。我可以在用户点击第一列时获取该行,但在第二列上单击时无法获取该行。
有什么建议吗?
答案 0 :(得分:0)
创建控件后调用m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
- 通常在OnInitDialog
。
答案 1 :(得分:0)
比方说,我们有一个对话框,其中在RC文件中定义了一个CListCtrl对象,如下所示:
IDD_DIALOG DIALOGEX 0, 0, 435, 273 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "A Dialog :)" FONT 12, "Microsoft Sans Serif", 400, 0, 0xEE BEGIN CONTROL "",IDC_LIST_CONTROL,"SysListView32",LVS_REPORT | LVS_OWNERDRAWFIXED | LVS_ALIGNLEFT | WS_BORDER,5,138,350,86 END
然后CListCtrl对象IDC_LIST_CONTROL的行为就像LVS_REPORT,这意味着 单击其任意列将选择整行。
然后按以下方式检索所选行:
int selectedRow =(((CListCtrl *)GetDlgItem(IDC_LIST_CONTROL))-> GetSelectionMark();