GetComboBoxInfo returning false



我有一个来自 CComboBox的派生类,我想用我的派生类来为 CEditCListCtrl子类。

由于某种原因,当我调用函数 GetComboBoxInfo时,它返回false。

这是我称我的功能的方式:

PCOMBOBOXINFO pcbi;
BOOL verif;
verif = GetComboBoxInfo(pcbi);

我已经尝试了this->GetComboBoxInfo(pcbi),但仍然没有。

我尝试从CComboBoxEx得出我的课程并使用GetEditCtrl()函数,但也没有。

我已经使用了函数GetLastError()来捕获错误消息,它给了我87,即ERROR_INVALID_PARAMETER,但我不明白为什么。

thx。

一个明显的错误是,您向GetComboBoxInfo函数发送了一个非初始化的指针。

切勿将非直接指针发送给任何函数,除非该功能引用该指针并在函数中进行初始化/设置。

正如评论所建议的那样,您需要使用非点类型,因为PCOMBOBOXINFO是指示声。使用的类型是COMBOBOXINFO

COMBOBOXINFO cbi {};  // set everything to 0
cbi.size = sizeof(COMBOBOXINFO); // set the size, as per the documentation
BOOL verif;
verif = GetComboBoxInfo(&cbi);  // pass the address

请参阅GetComboboxinfo上的文档

最新更新