Przetwarzanie wiadomości WM_DRAWITEM

Pole kombi rysowane właściciela wysyła komunikat WM_DRAWITEM jego procedury pole nadrzędne, jak okno lub okno dialogowe za każdym razem, aplikacja musi odświeżenia elementu listy. Parametr fikcyjnymi punkty do struktury DRAWITEMSTRUCT , który identyfikuje element sterowania i listy. Zawiera również informacje potrzebne do malowania element.

Przykład w tworzeniu okno dialogowe Square mączki wyświetla tekst elementu listy, jak i bitmapowe skojarzeni z tą grupą żywności. Jeśli element ma fokus, również rysuje prostokąt fokusu. Przed wyświetleniem tekstu, w przykładzie ustawiono kolory pierwszego planu i tła, w oparciu o wybranego elementu. Ponieważ pola kombi zostało zapisane w stylu CBS_HASSTRINGS, pola kombi utrzymuje tekst dla każdego elementu listy, które mogą być pobierane za pomocą wiadomości CB_GETLBTEXT.

Bitmapy używany dla elementu listy zależy od grupy żywności. InitGroupListużywa komunikatu CB_SETITEMDATA aby skojarzyć stałą z każdego elementu listy, określenia odpowiedniej grupy żywności. Procedurę okna używa tej wartości, zawarte w itemData członkiem strukturę DRAWITEMSTRUCT , aby określić które bitmap do wyświetlania. System wykorzystuje dwie mapy bitowe każdy symbol grupy żywności: bitmap monochromatycznych z operacji rastrowych SRCAND aby wymazać nieprawidłowych regionu za obraz i kolor mapy bitowej z operacji rastrowych SRCPAINT pomaluj obraz.