CListBox::SetHorizontalExtent
Définit la largeur, en pixels, par lesquels une zone de liste peut être horizontale vous faites.
void SetHorizontalExtent(
int cxExtent
);
Paramètres
- cxExtent
Spécifie le nombre de pixels par lesquels la zone de liste peut être horizontale vous faites.
Notes
Si la taille de la zone de liste est plus petite que cette valeur, la barre de défilement horizontale mettra défiler horizontalement des éléments dans la zone de liste. Si la zone de liste est la grande ou supérieure à la valeur, la barre de défilement horizontale est masquée.
Pour répondre à un appel à SetHorizontalExtent, la zone de liste doit avoir été définie avec le style de WS_HSCROLL .
Cette fonction membre n'est pas utile pour les zones de liste multicolonnes. Pour les zones de liste multicolonnes, appelez la fonction membre d' SetColumnWidth .
Exemple
// 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);
Configuration requise
Header: afxwin.h