Verwerken van de berichten van WM_DRAWITEM

Een eigenaar getekende keuzelijst met invoervak verzendt het bericht WM_DRAWITEM naar de bovenliggende venster of een dialoogvenster vak procedure elke keer dat de toepassing moet worden bijgewerkt op een item in de lijst. De parameter lParam verwijst naar een structuur van DRAWITEMSTRUCT waarmee het besturingselement en lijst item. Het bevat ook informatie die nodig is om te schilderen het item.

In het voorbeeld in het creŽren van een dialoogvenster Square maaltijd geeft de lijstitem tekst en de bitmap de voedsel-groep zijn gekoppeld. Als het item de focus heeft, wordt het ook een focusrechthoek getekend. Het voorbeeld wordt voordat de tekst wordt weergegeven, de voorgrond en achtergrond kleuren, op basis van het geselecteerde onderdeel. Omdat de keuzelijst met invoervak de stijl van de CBS_HASSTRINGS heeft, onderhoudt de keuzelijst met invoervak de tekst voor elk item dat kan worden opgehaald met behulp van het CB_GETLBTEXT bericht.

De bitmaps gebruikt voor het lijstitem is afhankelijk van de food group. InitGroupListhet CB_SETITEMDATA -bericht gebruikt een constante koppelen aan elk item in de lijst, de corresponderende voedsel groep identificeren. Het venster procedure wordt deze waarde, in de itemData lid van de DRAWITEMSTRUCT structuur, gebruikt om te bepalen welke bitmaps om weer te geven. Het systeem maakt gebruik van twee bitmaps voor elk voedsel groep symbool: een monochroom bitmap met de bewerking SRCAND raster om te wissen de onregelmatige regio achter de afbeelding, en een kleur bitmap met de bewerking SRCPAINT raster om te schilderen van het beeld.