Partilhar via


CListBox::MeasureItem

Chamado pela estrutura quando uma caixa de listagem com um estilo de desenho proprietário é criada.

virtual void MeasureItem(
   LPMEASUREITEMSTRUCT lpMeasureItemStruct 
);

Parâmetros

Comentários

Por padrão, essa função de membro não faz nada.Substituir a função de membro e preencha o MEASUREITEMSTRUCT estrutura para informar ao Windows do lista-caixa dimensões. Se o lista caixa é criada com o LBS_OWNERDRAWVARIABLE estilo, a estrutura chama esta função de membro para cada item a lista caixa.Caso contrário, esse membro é chamado somente uma vez.

Para obter mais informações sobre usando o LBS_OWNERDRAWFIXED estilo em uma caixa de listagem de desenho proprietário criado com o SubclassDlgItem função de membro de CWnd, consulte a discussão em Observação técnica 14.

See CWnd::OnMeasureItem para obter uma descrição do MEASUREITEMSTRUCT estrutura**.**

Exemplo

// CMyODListBox is my owner-drawn list box derived from CListBox. This 
// example measures an item and sets the height of the item to twice the 
// vertical extent of its text. The list box control was created with the 
// following code:
//   m_myODListBox.Create(
//      WS_CHILD|WS_VISIBLE|WS_BORDER|WS_HSCROLL|WS_VSCROLL|
//      LBS_SORT|LBS_MULTIPLESEL|LBS_OWNERDRAWVARIABLE|LBS_WANTKEYBOARDINPUT,
//      CRect(10,250,200,450), pParentWnd, IDC_MYODLISTBOX);
//
void CMyODListBox::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
{
   ASSERT(lpMeasureItemStruct->CtlType == ODT_LISTBOX);
   LPCTSTR lpszText = (LPCTSTR) lpMeasureItemStruct->itemData;
   ASSERT(lpszText != NULL);
   CSize   sz;
   CDC*    pDC = GetDC();

   sz = pDC->GetTextExtent(lpszText);

   ReleaseDC(pDC);

   lpMeasureItemStruct->itemHeight = 2*sz.cy;
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CListBox

Gráfico de hierarquia

CListBox::CompareItem

CWnd::OnMeasureItem

CListBox::DrawItem

CListBox::DeleteItem

Outros recursos

CListBox membros