Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.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++ Listview添加项目和视图标题_C++_Listview_Winapi - Fatal编程技术网

C++ Listview添加项目和视图标题

C++ Listview添加项目和视图标题,c++,listview,winapi,C++,Listview,Winapi,由于不熟悉winapi和Listview的使用,我在查看Listview中不可见的列标题和子项时遇到问题,即可以看到第一列,但子项column-1和2不显示。读者能告诉我在列表视图中初始化项目的正确方法吗 列标题不可见-我为列表控件切换了属性设置No Column Header,这无助于显示列标题 HWND listViewHandle = GetDlgItem(formHandle, IDC_CHART_LV); // handle to the list control //Add co

由于不熟悉winapi和Listview的使用,我在查看Listview中不可见的列标题和子项时遇到问题,即可以看到第一列,但子项column-1和2不显示。读者能告诉我在列表视图中初始化项目的正确方法吗

列标题不可见-我为列表控件切换了属性设置No Column Header,这无助于显示列标题

HWND listViewHandle = GetDlgItem(formHandle, IDC_CHART_LV);  // handle to the list control

//Add column definitions
LVCOLUMN lvc = { 0 };
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH | LVCF_FMT;
lvc.fmt = LVCFMT_LEFT;
//column 0
lvc.iSubItem = 0;
lvc.cx = 100;
lvc.pszText = TEXT("A");
ListView_InsertColumn(listViewHandle, 0, &lvc);
//column 1
lvc.iSubItem = 1;
lvc.cx = 200;
lvc.pszText = TEXT("B");
ListView_InsertColumn(listViewHandle, 1, &lvc);
//column 2
lvc.iSubItem = 2;
lvc.cx = 200;
lvc.pszText = TEXT("C");
ListView_InsertColumn(listViewHandle, 2, &lvc);

//Setup some dummy items within the listview
LV_ITEM lvItem = { 0 };

//Row 0
lvItem.iItem = 0;
ListView_InsertItem(listViewHandle, &lvItem);
ListView_SetItemText(listViewHandle, 0, 0, TEXT("RS"));
ListView_SetItemText(listViewHandle, 0, 1, TEXT("SS"));
ListView_SetItemText(listViewHandle, 0, 2, TEXT("VS"));

//Row 1
lvItem.iItem = 1;
ListView_InsertItem(listViewHandle, &lvItem);
ListView_SetItemText(listViewHandle, 1, 0, TEXT("SR"));
ListView_SetItemText(listViewHandle, 1, 1, TEXT("GS"));
ListView_SetItemText(listViewHandle, 1, 2, TEXT("SM"));

//Row 2
lvItem.iItem = 2;
ListView_InsertItem(listViewHandle, &lvItem);
ListView_SetItemText(listViewHandle, 2, 0, TEXT("GT"));
ListView_SetItemText(listViewHandle, 2, 1, TEXT("GS"));
ListView_SetItemText(listViewHandle, 2, 2, TEXT("SM"));

SendMessage(listViewHandle, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT);
ListView_SetItemState(listViewHandle, 1, LVIS_SELECTED, LVIS_SELECTED);

您的listview控件样式是否设置为LVS_REPORT?@AndyBrown否列表设置为ViewList@AndyBrown将View设置为LVS_REPORT成功了。谢谢你的提示。