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