CComboBox::SetHorizontalExtent
Establece el ancho, en píxeles, por la parte del cuadro de lista del cuadro combinado se puede mover horizontalmente.
void SetHorizontalExtent(
UINT nExtent
);
Parámetros
- nExtent
Especifica el número de píxeles por la parte del cuadro de lista del cuadro combinado puede mover horizontalmente.
Comentarios
Si el ancho del cuadro de lista es menor que este valor, la barra de desplazamiento horizontal horizontalmente mover elementos en el cuadro de lista. Si el ancho del cuadro de lista es igual o mayor que este valor, se oculta o, si el cuadro combinado tiene el estilo de CBS_DISABLENOSCROLL , se deshabilita la barra de desplazamiento horizontal.
Ejemplo
// Find the longest string in the combo box.
CString str;
CSize sz;
int dx = 0;
TEXTMETRIC tm;
CDC* pDC = m_pComboBox->GetDC();
CFont* pFont = m_pComboBox->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_pComboBox->GetCount(); i++)
{
m_pComboBox->GetLBText(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_pComboBox->ReleaseDC(pDC);
// Set the horizontal extent so every character of all strings can
// be scrolled to.
m_pComboBox->SetHorizontalExtent(dx);
Requisitos
encabezado: afxwin.h