Обробка повідомлення WM_DRAWITEM

У полі зі списком, власник звертається надсилання повідомлення WM_DRAWITEM його батьків вікна або діалоговому вікні процедура кожного разу, коли застосування повинні перемальовуючи елемента списку. Параметр lParam вказує на DRAWITEMSTRUCT структури, що визначає елемента керування та список. Він також містить інформацію, потрібну для малювання елемент.

Приклад у створенні площі їжа діалоговому вікні відображено текст елемента списку, так і растрові, пов'язаних з продовольством групу. Якщо елемент має фокус, він також звертає прямокутник фокусу. Перед відображенням тексту, наприклад зазначення кольори переднього плану і тла, на основі вибраного елемента. Оскільки поля зі списком має стиль CBS_HASSTRINGS, у полі зі списком підтримує текст для кожного елемента списку, які можуть бути отримані за допомогою CB_GETLBTEXT повідомлення.

Крапкові малюнки, використані для елемента списку залежить від групи продовольства. InitGroupListвикористовує CB_SETITEMDATA повідомлення асоціювати константу з кожним елементом, визначення відповідних групи продовольства. Процедура вікно використовує це значення, що містяться в itemData членом DRAWITEMSTRUCT структуру, щоб визначити які крапкові малюнки для відображення. Система використовує два растрових зображення для кожного продовольство символ групи: монохромних бітових з SRCAND растрових операцію, щоб стерти неправильної області за зображення і кольору крапковий малюнок з SRCPAINT растрових операції малювати зображення.