NM_CUSTOMDRAW
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
As dicas de ferramentas
Exibição de árvore
Controla todas as outras com suporte
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 |