Sempre que o item deve ser desenhado (por exemplo, quando ele é exibido pela primeira vez ou quando o usuário seleciona-lo), o sistema envia a mensagem WM_DRAWITEM para o procedimento janela da janela de proprietário do menu. Esta mensagem contém um ponteiro para uma estrutura de DRAWITEMSTRUCT que contém informações sobre o item, incluindo os dados do item que um aplicativo pode ter atribuído a ele. Além disso, DRAWITEMSTRUCT contém sinalizadores que indicam o estado do item (como se ele é acinzentado ou marcado), bem como um retângulo delimitador e um contexto de dispositivo que o aplicativo usa para desenhar o item.
Um aplicativo deve fazer o seguinte ao processar a mensagem WM_DRAWITEM:
Se o usuário selecionar o item de menu, o sistema define o membro itemAction a estrutura de DRAWITEMSTRUCT para o valor ODA_SELECT e define o valor ODS_SELECTED no itemState membro. Isso é Dica do aplicativo para redesenhar o item de menu para indicar que ela está selecionada.