我正在使用WC_LISTVIEW控件创建一个在运行时填充数据的表.桌子工作正常.但是,我无法在一个单元格中显示多行.
有没有办法使用换行符(例如\n
)?
这是我创建表的方式:
HWND listViewErrors = CreateWindow(WC_LISTVIEW, L"",
WS_VISIBLE | WS_BORDER | WS_CHILD | LVS_REPORT | LVS_SINGLESEL,
17, 27, errorsRect.Width() - 12, errorsRect.Height() - 25,
GetWindowHandle(), (HMENU)ID_LIST_ERRORS, NULL, 0);
Run Code Online (Sandbox Code Playgroud)
我添加这样的行:
LVITEM lvi = { 0 };
lvi.mask = LVIF_TEXT;
lvi.pszText = L"Label of an entry";
int ret = ListView_InsertItem(hwndList, &lvi); // Main item
if (ret >= 0)
{
ListView_SetItemText(
hwndList,
ret,
1,
L"A description containing\nline breaks, but the\nline breaks will be\nignored."); // Sub item
}
return ret;
Run Code Online (Sandbox Code Playgroud)
结果是换行符(\n
)不再可见,但文本仍然在一行中.