Compartilhar via


NM_CUSTOMDRAW

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Esta mensagem é enviada pelo alguns comum controles para notificar seus janelas pai sobre desenho operações. A mensagem é enviada na forma de um WM_NOTIFY mensagem.

Syntax

NM_CUSTOMDRAW
#ifdef LIST_VIEW_CUSTOM_DRAW
    lpNMCustomDraw = (LPNMLVCUSTOMDRAW) lParam;
#elif TOOL_TIPS_CUSTOM_DRAW
    lpNMCustomDraw = (LPNMTTCUSTOMDRAW) lParam;
#elif TREE_VIEW_CUSTOM_DRAW
    lpNMCustomDraw = (LPNMTVCUSTOMDRAW) lParam;
#else
    lpNMCustomDraw = (LPNMCUSTOMDRAW) lParam;
#endif

Parameters

  • lpNMCustomDraw
    Ponteiro longo para um personalizado desenhar-relacionado estrutura que contém informações sobre a operação de desenho. A seguinte tabela lista os controles que enviam a mensagem NM_CUSTOMDRAW e seus associado estruturas.

    Controle Estrutura

    Exibição Lista

    NMLVCUSTOMDRAW

    As dicas de ferramentas

    NMTTCUSTOMDRAW

    Exibição de árvore

    NMTVCUSTOMDRAW

    Controla todas as outras com suporte

    NMCUSTOMDRAW

Return Value

O valor que pode retornar seu aplicativo depende de como o atual desenho estágio. O dwDrawStage membro de associado NMCUSTOMDRAW estrutura contém um valor que especifica o estágio de desenho.

Você deve retornar uma do seguinte valores quando dwDrawStage é igual a CDDS_PREPAINT:

  • CDRF_DODEFAULT
    O controle será desenhar próprio. Ele não enviará as mensagens NM_CUSTOMDRAW adicionais para esse ciclo tinta.
  • CDRF_NOTIFYITEMDRAW
    O controle notificará o pai de qualquer item-relacionado desenho operações. Ele enviará mensagens NM_CUSTOMDRAW antes e depois desenho itens.
  • CDRF_NOTIFYITEMERASE
    O controle notificará o pai quando um item será apagado. Ele enviará mensagens NM_CUSTOMDRAW antes e depois de apagar itens.
  • CDRF_NOTIFYPOSTERASE
    O controle notificará o pai Após apagar um item.
  • CDRF_NOTIFYPOSTPAINT
    O controle notificará o pai após pintura um item.

Você deve retornar uma do seguinte valores quando dwDrawStage é igual a CDDS_ITEMPREPAINT:

  • CDRF_NEWFONT
    O aplicativo especificado uma nova fonte para o item; o controle usará a nova fonte. **Para obter mais informações no alterando fontes, consulte Alterar fontes e cores. **
  • CDRF_SKIPDEFAULT
    Seu aplicativo desenhou o item manualmente. O controle não irá desenhar o item.

Remarks

No momento, cabeçalho, exibição de lista, de malha de ferro, barra de ferramentas, Descrição de ferramenta, TrackBar e modo de exibição de árvore controles suporte personalizado funcionalidade desenhar. O controle ToolTip suporta personalizado desenhar para Windows Embedded CE.

Example

case WM_NOTIFY:
   {
       LPNMHDR lpnm = (LPNMHDR) lParam;
       // Check for the dropdown notification
       if (lpnm->hwndFrom == p_stParams->hwndToolBar)
       {
           switch (lpnm->code)
           {
               case NM_CUSTOMDRAW:
               {
                   NMCUSTOMDRAW *pnmcd = (NMCUSTOMDRAW *)lParam;
                   switch (pnmcd->dwDrawStage)
                   {
                       case CDDS_ITEMPREPAINT:
                           if (pnmcd->dwItemSpec == IDM_HEADER_SHOWBY_SUBMENU)
                           {
                               SetWindowLong(hDlg, DWL_MSGRESULT, (LONG)CDRF_NOVERTBAR);
                               return TRUE;
                           }
                           break;
                       default:
                           break;
                   }
               }
               default:
                   break;
           }
       }
   }

Requirements

Header commctrl.h
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Pocket PC 2002 and later, Smartphone 2002 and later

See Also

Reference

WM_NOTIFY
NMCUSTOMDRAW
NMLVCUSTOMDRAW