Partilhar via


CHeaderCtrl::DrawItem

Chamado pela estrutura quando um aspecto visual de um controle de cabeçalho proprietário-draw muda.

virtual void DrawItem(
   LPDRAWITEMSTRUCT lpDrawItemStruct 
);

Parâmetros

  • lpDrawItemStruct
    Um ponteiro para um DRAWITEMSTRUCT estrutura que descreve o item a ser pintado.

Comentários

The itemAction membro do DRAWITEMSTRUCT estrutura define a ação de desenho que deve ser executada.

Por padrão, essa função de membro não faz nada.Substituir esta função de membro para implementar o desenho para um desenho do proprietário CHeaderCtrl objeto.

O aplicativo deve restauração todos os objetos de interface (GDI) do dispositivo gráficos selecionados para o contexto de exibição fornecido no lpDrawItemStruct antes dessa função de membro termina.

Exemplo

// NOTE: CMyHeaderCtrl is a class derived from CHeaderCtrl.
// The CMyHeaderCtrl object was created as follows:
//
//   CMyHeaderCtrl m_myHeader;
//   myHeader.Create(WS_CHILD | WS_VISIBLE | HDS_HORZ,
//      CRect(10, 10, 600, 50), pParentWnd, 1);

// This example implements the DrawItem method for a 
// CHeaderCtrl-derived class that draws every item as a
// 3D button using the text color red.
void CMyHeaderCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
   // This code only works with header controls.
   ASSERT(lpDrawItemStruct->CtlType == ODT_HEADER);

   HDITEM hdi;
   const int c_cchBuffer = 256;
   TCHAR  lpBuffer[c_cchBuffer];

   hdi.mask = HDI_TEXT;
   hdi.pszText = lpBuffer;
   hdi.cchTextMax = c_cchBuffer;

   GetItem(lpDrawItemStruct->itemID, &hdi);

   // Draw the button frame.
   ::DrawFrameControl(lpDrawItemStruct->hDC, 
      &lpDrawItemStruct->rcItem, DFC_BUTTON, DFCS_BUTTONPUSH);

   // Draw the items text using the text color red.
   COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, 
      RGB(255,0,0));
   ::DrawText(lpDrawItemStruct->hDC, lpBuffer, 
      (int)_tcsnlen(lpBuffer, c_cchBuffer), 
      &lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
   ::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
}

Requisitos

Cabeçalho: afxcmn.h

Consulte também

Referência

Classe CHeaderCtrl

Gráfico de hierarquia

CWnd::OnDrawItem

Outros recursos

CHeaderCtrl membros