如何支持回调项

本主题演示了如何为回调项提供支持。

需要了解的事项

技术

先决条件

  • C/C++
  • Windows 用户界面编程

说明

如果应用程序要在 ComboBoxEx 控件中使用回调项目,则必须准备好处理 CBEN_GETDISPINFO 通知代码。 每当 ComboBoxEx 控件需要所有者提供特定项目信息时,它都会发送此通知。 有关回调项目的更多信息,请参阅回调项目

以下由应用程序定义的函数通过提供给定项目的属性来处理 CBEN_GETDISPINFO。 请注意,它会将传入 COMBOBOXEXITEM 结构的 mask 成员设置为 CBEIF_DI_SETITEM。 将掩模设置为该值可让控件保留项目信息,从而无需再次请求相关信息。

完整示例

// DoItemCallback - Processes CBEN_GETDISPINFO by providing item
// attributes for a given callback item.

void WINAPI DoItemCallback(PNMCOMBOBOXEX pNMCBex)
{
    DWORD dwMask = pNMCBex->ceItem.mask;

    if(dwMask & CBEIF_TEXT)
    {
            // Insert code to provide item text.
    }

    if(dwMask & CBEIF_IMAGE) 
    {
        // Insert code to provide an item image index.
    }

    // Insert code to provide other callback information as desired.

    // Make the ComboBoxEx control hold onto the item information.
    pNMCBex->ceItem.mask = CBEIF_DI_SETITEM;
}

关于 ComboBoxEx 控件

ComboBoxEx 控件参考

使用 ComboBoxEx 控件

ComboBoxEx