Estrutura NMCUSTOMDRAW (commctrl.h)

Contém informações específicas para um código de notificação NM_CUSTOMDRAW .

Sintaxe

typedef struct tagNMCUSTOMDRAWINFO {
  NMHDR     hdr;
  DWORD     dwDrawStage;
  HDC       hdc;
  RECT      rc;
  DWORD_PTR dwItemSpec;
  UINT      uItemState;
  LPARAM    lItemlParam;
} NMCUSTOMDRAW, *LPNMCUSTOMDRAW;

Membros

hdr

Tipo: NMHDR

Uma estrutura NMHDR que contém informações sobre esse código de notificação.

dwDrawStage

Tipo: DWORD

O estágio de desenho atual. Esse é um dos valores a seguir.

Valor Significado
Valores globais:
CDDS_POSTERASE
Após a conclusão do ciclo de apagamento.
CDDS_POSTPAINT
Após a conclusão do ciclo de pintura.
CDDS_PREERASE
Antes do início do ciclo de apagamento.
CDDS_PREPAINT
Antes do ciclo de pintura começar.
Valores específicos do item:
CDDS_ITEM
Indica que os membros dwItemSpec, uItemState e lItemlParam são válidos.
CDDS_ITEMPOSTERASE
Depois que um item for apagado.
CDDS_ITEMPOSTPAINT
Depois que um item for desenhado.
CDDS_ITEMPREERASE
Antes que um item seja apagado.
CDDS_ITEMPREPAINT
Antes que um item seja desenhado.
CDDS_SUBITEM
Sinalizador combinado com CDDS_ITEMPREPAINT ou CDDS_ITEMPOSTPAINT se um subitem estiver sendo desenhado. Isso só será definido se CDRF_NOTIFYITEMDRAW for retornado de CDDS_PREPAINT.

hdc

Tipo: HDC

Um identificador para o contexto do dispositivo do controle. Use este HDC para executar qualquer função GDI.

rc

Tipo: RECT

A estrutura RECT que descreve o retângulo delimitador da área que está sendo desenhada. Esse membro é inicializado apenas pela notificação de CDDS_ITEMPREPAINT. Versão 5.80. Esse membro também é inicializado pela notificação CDDS_PREPAINT.

dwItemSpec

Tipo: DWORD_PTR

O número do item. O que está contido neste membro dependerá do tipo de controle que está enviando a notificação. Consulte a referência de notificação NM_CUSTOMDRAW para o controle específico para determinar o que, se houver alguma coisa, está contido neste membro.

uItemState

Tipo: UINT

O estado atual do item. Esse valor é uma combinação dos sinalizadores a seguir.

Valor Significado
CDIS_CHECKED
O item é verificado.
CDIS_DEFAULT
O item está no seu estado padrão.
CDIS_DISABLED
O item está desabilitado.
CDIS_FOCUS
O item está em foco.
CDIS_GRAYED
O item está esmaecido.
CDIS_HOT
O item está atualmente sob o ponteiro ("hot").
CDIS_INDETERMINATE
O item está em um estado indeterminado.
CDIS_MARKED
O item está marcado. O significado disso é determinado pela implementação.
CDIS_SELECTED
O item está selecionado.
Nota Esse sinalizador não funciona corretamente para controles de exibição de lista desenhados pelo proprietário que têm o estilo LVS_SHOWSELALWAYS . Para esses controles, você pode determinar se um item é selecionado usando LVM_GETITEMSTATE (ou ListView_GetItemState) e verificando o sinalizador de LVIS_SELECTED .
 
CDIS_SHOWKEYBOARDCUES

Versão 6.0.O item está mostrando suas indicações de teclado.

Observe que o Comctl32 versão 6 não é redistribuível. sistemas operacionais. Para usar Comctl32.dll versão 6, especifique-a no manifesto. Para obter mais informações sobre manifestos, consulte Habilitando estilos visuais.

CDIS_NEARHOT
O item faz parte de um controle que está atualmente sob o ponteiro do mouse ("quente"), mas o item não está "quente" em si. O significado disso é determinado pela implementação.
CDIS_OTHERSIDEHOT
O item faz parte de um splitbutton que está atualmente sob o ponteiro do mouse ("quente"), mas o item não está "quente" em si. O significado disso é determinado pela implementação.
CDIS_DROPHILITED
No momento, o item é o destino de soltar de uma operação de arrastar e soltar.

lItemlParam

Tipo: LPARAM

Dados de item definidos pelo aplicativo.

Comentários

O valor retornado pelo aplicativo depende da fase de desenho atual. O membro dwDrawStage da estrutura NMCUSTOMDRAW associada contém um valor que especifica o estágio de desenho. Quando o membro dwDrawStage é igual a CDDS_PREPAINT e CDDS_PREERASE, alguns controles enviam a mensagem CDDS_PREERASE primeiro e esperam que o valor retornado indique quais mensagens subsequentes serão enviadas. Para obter um exemplo de código que ilustra estados e estágios de desenho, consulte Personalizando a aparência de um controle usando o desenho personalizado.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho commctrl.h