Proprietarul-trase casetele listă

Cererea poate crea un proprietar-trase casetă listă să își asume responsabilitatea pentru pictura elementele listei. Caseta de dialog sau a ferestrei de mamă de o casetă listă trase proprietarul ( owner) primește mesaje WM_DRAWITEM atunci când o parte din caseta listă trebuie să fie scrise. O casetă listă trase proprietar poate lista informații altele decât sau în plus, șiruri text.

Proprietarul de o casetă listă-trase de proprietar trebuie să prelucreze mesaj WM_DRAWITEM. Acest mesaj este trimis ori de câte ori o parte din caseta listă trebuie să fie rescris. Proprietarul poate fi necesar pentru a prelucra alte mesaje, în funcție de stilurile specificate pentru caseta listă.

Cererea poate crea o casetă listă proprietarul-trase specificând stilul LBS_OWNERDRAWFIXED sau LBS_OWNERDRAWVARIABLE. Dacă toate elementele de listă în caseta listă sunt aceeași înălțime, cum ar fi siruri de caractere sau pictograme, cererea poate utiliza stilul LBS_OWNERDRAWFIXED. Dacă elementele de listă sunt de înăl?ime diferite, bitmap-uri de dimensiuni diferite, de exemplu, o cerere utilizați stilul LBS_OWNERDRAWVARIABLE.

Proprietarul de o casetă listă trase proprietar poate procesa un mesaj WM_MEASUREITEM pentru a specifica dimensiunile din lista de elemente. Dacă aplicarea creează caseta listă utilizând stilul LBS_OWNERDRAWFIXED, sistemul trimite mesajul WM_MEASUREITEM o singură dată. Dimensiunile specificate de proprietar sunt utilizate pentru toate elementele de listă. Dacă stilul LBS_OWNERDRAWVARIABLE este utilizat, sistemul trimite un mesaj WM_MEASUREITEM pentru fiecare element din listă adaugă caseta listă. Proprietarul poate determina sau seta înălțimea de un element din listă în orice moment utilizând mesaje LB_GETITEMHEIGHT ?i LB_SETITEMHEIGHT , respectiv.

Dacă informațiile afișate într-o cutie de proprietar-trase lista include text, cererea poate urmări de text pentru fiecare element din listă specificând stilul LBS_HASSTRINGS. Casetele listă cu stilul LBS_SORT sunt sortate bazate pe acest text. Dacă o casetă listă este sortate, dar nu este stilul LBS_HASSTRINGS, proprietarul trebuie să prelucreze mesaj WM_COMPAREITEM.

Într-o casetă listă-trase de proprietar, proprietarul trebuie să monitorizați de listă elemente care con?in informa?ii altele decât sau în plus față de text. Un mod convenabil de a face acest lucru este de a salva ghidajul de informa?ii ca element date folosind mesajul LB_SETITEMDATA . Pentru a elibera obiectele de date asociate cu elemente într-o casetă listă, proprietar poate procesa mesaj WM_DELETEITEM.

Pentru un exemplu de o casetă listă-trase de proprietar, consultați crearea o casetă listă de Owner-Drawn.

Index