C++ 列表视图组合框
我已将combobox添加到我的自定义listview中,并尝试将combobox的文本设置为当前listview子项C++ 列表视图组合框,c++,winapi,listview,combobox,C++,Winapi,Listview,Combobox,我已将combobox添加到我的自定义listview中,并尝试将combobox的文本设置为当前listview子项 case CBN_SELCHANGE: { char txt[200]; ComboBox_GetText(hCombo, txt, 256); int i = SendMessage(hListView
case CBN_SELCHANGE:
{
char txt[200];
ComboBox_GetText(hCombo, txt, 256);
int i = SendMessage(hListView, LVM_GETHOTITEM,0, 0);
ListView_SetItemText(hListView, i, 2, txt);
}
我做错了什么?listview“热”项目是光标悬停在其上的项目,并且仅当启用热跟踪和热选择时。SDK文档在解释什么是热门项目方面做得很差。这些文件提供了更多的细节
从组合框中进行选择时,光标未悬停在列表框中的任何项目上,因此不会设置任何文本
您可能希望取而代之的是所选项目:
int i = ListView_GetNextItem(hListView, -1, LVNI_SELECTED);
有更多信息。您的意思是“将listview子项文本设置为所选组合框文本”吗?因为代码看起来就是这么做的。此外,将256传递给ComboBox_GetText(),但缓冲区大小仅为200个字符。