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

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

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

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

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

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

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

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

Index