Как поддерживать элементы обратного вызова
В этом разделе показано, как обеспечить поддержку элементов обратного вызова.
Это важно знать
Технологии
Необходимые компоненты
- C/C++
- Программирование пользовательского интерфейса Windows
Instructions
Если приложение будет использовать элементы обратного вызова в элементе управления ComboBoxEx, оно должно быть готово для обработки кода уведомлений CBEN_GETDISPINFO . Элемент управления ComboBoxEx отправляет это уведомление всякий раз, когда владельцу требуется предоставить сведения о конкретном элементе. Дополнительные сведения о элементах обратного вызова см. в разделе "Элементы обратного вызова".
Следующая определяемая приложением функция обрабатывает CBEN_GETDISPINFO , предоставляя атрибуты для данного элемента. Обратите внимание, что он задает для элемента маски входящие структуры CO МБ OBOXEXITEM значение 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;
}
См. также