How to Support Callback Items
This topic demonstrates how to provide support for callback items.
What you need to know
Technologies
Prerequisites
- C/C++
- Windows User Interface Programming
Instructions
If your application is going to use callback items in a ComboBoxEx control, it must be prepared to handle the CBEN_GETDISPINFO notification code. A ComboBoxEx control sends this notification whenever it needs the owner to provide specific item information. For more information about callback items, see Callback Items.
The following application-defined function processes CBEN_GETDISPINFO by providing attributes for a given item. Note that it sets the mask member of the incoming COMBOBOXEXITEM structure to CBEIF_DI_SETITEM. Setting mask to this value makes the control retain the item information so that it will not need to request the information again.
Complete example
// 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;
}
Related topics