0

我已将组合框添加到我的自定义列表视图中,并且我正在尝试将组合框的文本设置为当前的列表视图子项。

            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);
                }

我究竟做错了什么?

4

1 回答 1

1

列表视图“热”项是光标悬停在其上的项,并且仅在启用热跟踪和热选择时。LVM_GETHOITEM的 SDK 文档在解释什么是热门项目方面做得很差。CListCtrl::GetHotItem文档提供了更多细节。

在您从组合框中进行选择时,光标不会悬停在列表框中的任何项目上,因此不会设置任何文本。

您可能希望获得选定的项目:

int i = ListView_GetNextItem(hListView, -1, LVNI_SELECTED);

这篇文章有更多信息。

于 2013-02-06T17:17:41.777 回答