Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检索CListCtrl中的选定行_C++_Clistctrl - Fatal编程技术网

C++ 检索CListCtrl中的选定行

C++ 检索CListCtrl中的选定行,c++,clistctrl,C++,Clistctrl,我有一个CListCtrl,其中有两列和多行。我想获取所选行的索引。当用户单击第一列时,我能够获取行,但当单击第二列时,我无法获取行 有什么建议吗?调用m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT)创建控件后-通常在OnInitDialog中,我们有一个对话框,其中一个CListCtrl对象定义在RC文件中,如下所示: IDD_DIALOG DIALOGEX 0, 0, 435, 273 STYLE DS_SETFONT | DS_MODALF

我有一个
CListCtrl
,其中有两列和多行。我想获取所选行的索引。当用户单击第一列时,我能够获取行,但当单击第二列时,我无法获取行


有什么建议吗?

调用
m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT)
创建控件后-通常在
OnInitDialog

中,我们有一个对话框,其中一个CListCtrl对象定义在RC文件中,如下所示:

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 IDD_对话框EX0、0435273 样式DS|u SETFONT | DS|u MODALFRAME | WS|u弹出| WS|u字幕| WS|u系统菜单 标题“对话:)” 字体12,“Microsoft无衬线”,400,0,0xEE 开始 控件“”,IDC_列表_控件,“SysListView32”,LVS_报告| LVS_所有者绘制固定| LVS_左对齐| WS_边框,5138350,86 结束 然后CListCtrl对象IDC_LIST_控件的行为就像一个LVS_报告,这意味着 单击其中任何一列将选择整行

然后检索所选行,如下所示:

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 int selectedRow=((CListCtrl*)GetDlgItem(IDC_列表_控件))->GetSelectionMark()