Partager via


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

Voir aussi

Référence

CListBox, classe

Graphique de la hiérarchie

CListBox::GetHorizontalExtent

CListBox::SetColumnWidth

LB_SETHORIZONTALEXTENT