Partager via


CListBox::SetTabStops

Définit les positions de tabulation dans une zone de liste.

void SetTabStops( ); 
BOOL SetTabStops( 
   const int& cxEachStop  
); 
BOOL SetTabStops( 
   int nTabStops, 
   LPINT rgTabStops  
);

Paramètres

  • cxEachStop
    Des taquets de tabulation sont placés dans chaque les unités de boîte de dialogue d' cxEachStop . Consultez les rgTabStops pour une description d'une unité de boîte de dialogue.

  • nTabStops
    Spécifie le nombre de taquets de tabulation pour disposer dans la zone de liste.

  • rgTabStops
    Pointe vers le premier membre d'un tableau d'entiers contenant les positions de tabulation en unités de boîte de dialogue. Une unité de boîte de dialogue est une distance horizontale ou verticale. Une unité de boîte de dialogue horizontale est égale à un quart de l'unité actuelle de largeur de base de dialogue, et une unité de boîte de dialogue verticale est égale à un huitième de l'unité actuelle de hauteur de base de dialogue. Les unités de base de dialogue sont calculées en fonction de la hauteur et la largeur de la police système actuelle. La fonction Windows de GetDialogBaseUnits retourne les unités de base actuelles de dialogue en pixels. Taquets de tabulation doivent être triées en augmentant la commande ; il n'autorise pas les onglets arrières.

Valeur de retour

Une valeur différente de zéro si tous les onglets a été configuré ; sinon 0.

Notes

Pour définir des taquets de tabulation à la taille par défaut de 2 unités de boîte de dialogue, appelez la version sans paramètre de la fonction membre. Pour définir des taquets de tabulation à une taille différente de 2, appelez la version avec l'argument d' cxEachStop .

Pour définir des taquets de tabulation vers un tableau de tailles, utilisez la version avec les arguments d' rgTabStops et d' nTabStops . Un taquet de tabulation est défini pour chaque valeur de rgTabStops, jusqu ' à le nombre spécifié par nTabStops.

Pour répondre à un appel à la fonction membre d' SetTabStops , la zone de liste doit avoir été créé avec le style de LBS_USETABSTOPS .

Exemple

// Find the pixel width of the largest first substring.
CString str;
CSize   sz;
int     nIndex, dx = 0;
CDC*    pDC = myListBox.GetDC();
for (int i = 0; i < myListBox.GetCount(); i++)
{
   myListBox.GetText( i, str );

   if ((nIndex = str.Find('\t')) != -1)
      str = str.Right(nIndex);

   sz = pDC->GetTextExtent(str);

   if (sz.cx > dx)
      dx = sz.cx;
}
myListBox.ReleaseDC(pDC);

// Set tab stops at every one and 1/3 units 
// of the largest string.  
// NOTE: Convert pixels to dialog units.
myListBox.SetTabStops((dx*4/3 * 4) / LOWORD(::GetDialogBaseUnits()));

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CListBox, classe

Graphique de la hiérarchie

LB_SETTABSTOPS

GetDialogBaseUnits