Compartir a través de


CListBox::SetHorizontalExtent

Establece el ancho, en píxeles, por los que un cuadro de lista se puede desplazarse horizontalmente.

void SetHorizontalExtent(
   int cxExtent 
);

Parámetros

  • cxExtent
    Especifica el número de píxeles para los que el cuadro de lista se pueda desplazarse horizontalmente.

Comentarios

Si el tamaño del cuadro de lista es menor que este valor, la barra de desplazamiento horizontal horizontalmente mover elementos en el cuadro de lista.Si el cuadro de lista está como grande o mayor que este valor, se oculta la barra de desplazamiento horizontal.

Para responder a una llamada a SetHorizontalExtent, el cuadro de lista debe haberse definido con el estilo de WS_HSCROLL .

Esta función miembro no es útil para los cuadros de lista de varias columnas.Para los cuadros de lista de varias columnas, llame a la función miembro de SetColumnWidth .

Ejemplo

// Find the longest string in the list box.
CString    str;
CSize      sz;
int        dx = 0;
TEXTMETRIC tm;
CDC*       pDC = m_myListBox.GetDC();
CFont*     pFont = m_myListBox.GetFont();

// Select the listbox font, save the old font
CFont* pOldFont = pDC->SelectObject(pFont);
// Get the text metrics for avg char width
pDC->GetTextMetrics(&tm); 

for (int i = 0; i < m_myListBox.GetCount(); i++)
{
   m_myListBox.GetText(i, str);
   sz = pDC->GetTextExtent(str);

   // Add the avg width to prevent clipping
   sz.cx += tm.tmAveCharWidth;

   if (sz.cx > dx)
      dx = sz.cx;
}
// Select the old font back into the DC
pDC->SelectObject(pOldFont);
m_myListBox.ReleaseDC(pDC);

// Set the horizontal extent so every character of all strings 
// can be scrolled to.
m_myListBox.SetHorizontalExtent(dx);

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CListBox

Gráfico de jerarquía

CListBox::GetHorizontalExtent

CListBox::SetColumnWidth

LB_SETHORIZONTALEXTENT