Compartilhar via


CHeaderCtrl::DrawItem

Chamado pela estrutura quando uma aparência visual de alterações de controle de cabeçalho do proprietário.

virtual void DrawItem( 
   LPDRAWITEMSTRUCT lpDrawItemStruct  
);

Parâmetros

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

Comentários

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

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

O aplicativo deve restaurar todos os objetos de (GDI) de interface do dispositivo de elementos gráficos selecionados para o contexto de exibição fornecido em lpDrawItemStruct antes que essa 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 da hierarquia

CWnd::OnDrawItem