Власник звертається поля зі списком

Заявку можна створити до власника звертається списком взяти відповідальність за живопис елементів списку. Батько вікна або у діалоговому вікні є власником звертається списком (його власника) отримує WM_DRAWITEM повідомлення, коли частину поля зі списком має бути пофарбовані. Є власником звертається списком можна список інформації, ніж інші, або в додаток до текстових рядків. Власник звертається комбіновані поля може бути будь-якого типу. Однак, проста або розкривного списком, контроль редагування можна відобразити лише текст, хоча власник малює виділення поля в розкривному списку.

Власник є власником звертається списком необхідно обробити повідомлення WM_DRAWITEM. Це повідомлення надсилається кожного разу, коли частини поля зі списком має Перемальовує. Власник, можливо, доведеться обробити інші повідомлення, залежно від того, стилі, визначені для поля зі списком.

Заявку можна створити до власника звертається списком, вказавши стиль CBS_OWNERDRAWFIXED або CBS_OWNERDRAWVARIABLE. Якщо всі елементи списку в полі зі списком тій же висоті, такі як рядки або значки, додаток може використовувати стиль CBS_OWNERDRAWFIXED. Якщо список елементів різної висоти, растрові зображення різних розмірів, наприклад, програми можна використовувати стиль CBS_OWNERDRAWVARIABLE.

Власник є власником звертається списком може обробляти WM_MEASUREITEM повідомлення, щоб вказати розміри елементів списку в полі зі списком. Якщо застосунок створює поле зі списком за допомогою CBS_OWNERDRAWFIXED стиль, система надсилає повідомлення WM_MEASUREITEM тільки один раз. Розміри, вказані власником використовуються для всіх елементів списку. Якщо використовується стилем CBS_OWNERDRAWVARIABLE, система надішле повідомлення WM_MEASUREITEM для кожного елемента списку, яка додається до поля зі списком. Власник може визначити або встановити висоту елемента списку в будь-який час за допомогою CB_GETITEMHEIGHT і CB_SETITEMHEIGHT повідомлень, відповідно.

Якщо відомості, що відображені у вікні власник звертається зі списком містить текст, заявку можна стежити за текст для кожного елемента списку, вказавши стиль CBS_HASSTRINGS. Комбіновані поля з CBS_SORT стилем сортуються за цей текст. Якщо поле зі списком сортування і не стиль CBS_HASSTRINGS, власник повинен обробити повідомлення WM_COMPAREITEM.

У вікні власник звертається зі списком власник повинен стежити за елементи списку, які містять інформацію, ніж інші, або до тексту. Один зручний спосіб зробити це є збереження ручку на інформацію, як елемент даних. Щоб отримати додаткові відомості про елемент даних перегляньте Дані, пов'язані з елементів списку. Щоб звільнити об'єкти даних, пов'язаних з елементів у полі зі списком, власник може обробити повідомлення WM_DELETEITEM.

Для прикладу власник звертається списком в розділі створення в Owner-Drawn зі списком.

Index