Udostępnij za pośrednictwem


CListBox::SetTabStops

Ustawia pozycje tabulatora w polu listy.

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

Parametry

  • cxEachStop
    Tabulatory są ustawione na każdym cxEachStop jednostek okno dialogowe.Zobacz rgTabStops opis jednostki okno dialogowe.

  • nTabStops
    Określa liczbę tabulatorów w polu listy.

  • rgTabStops
    Punkty do pierwszego elementu tablicy liczb całkowitych, zawierające pozycje tabulatora w jednostkach okno dialogowe.Jednostka okno dialogowe jest odległości poziomej lub pionowej.Okno dialogowe poziome jednostki jest równa jednej czwartej bieżącej jednostki szerokości podstawowej okno dialogowe i jedną jednostkę pionową okno dialogowe jest równa jednej ósmej bieżącej jednostki podstawowej wysokości okno dialogowe.Okno dialogowe podstawowych jednostek są obliczane na podstawie wysokości i szerokości bieżącej czcionki systemu.GetDialogBaseUnits systemu Windows funkcja zwraca bieżące okno dialogowe podstawowych jednostek w pikselach.Tabulatory musi być posortowana rosnąco; Tabulatory wsteczne nie są dozwolone.

Wartość zwracana

Niezerowa, jeśli wszystkie karty zostały ustalone; 0 inaczej.

Uwagi

Aby ustawić domyślny rozmiar jednostki 2 okno dialogowe Tabulatory, wywołanie bezparametrowego wersja tej funkcji Członkowskich.Tabulatory do rozmiaru niż 2, wywołania wersji z cxEachStop argumentu.

Aby ustawić tabulatory tablicę rozmiarów, użyj wersji z rgTabStops i nTabStops argumentów.Tabulator zostanie ustawiona dla każdej wartości w rgTabStops, do liczby określonej przez nTabStops.

Aby odpowiedzieć na wywołanie SetTabStops funkcji Członkowskich w polu listy muszą być utworzone z LBS_USETABSTOPS styl.

Przykład

// 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()));

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CListBox

Wykres hierarchii

LB_SETTABSTOPS

GetDialogBaseUnits