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