CListBox::SetTabStops

Устанавливает позицию табуляции в списке.

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

Параметры

  • cxEachStop
    Позиции табуляции устанавливаются на единиц каждого диалога cxEachStop.См. раздел rgTabStops описание единицы измерения диалогового окна.

  • nTabStops
    Указывает число позиций табуляции, чтобы иметь в списке.

  • rgTabStops
    Точки к первому элементу массива целых чисел, содержащую позиции табуляции в единицах диалогового окна.Единица диалогового окна горизонтальное или вертикальное диапазон.Одна горизонтальная единица диалогового окна равна до 1/4 из текущей ширины блока базовое диалоговое окно, и одна вертикальная единица диалогового окна равна до 1/8 из текущей высоты единицы измерения базового диалогового окна.Вычислены базовые единицы диалогового окна на основе высоте и ширине текущего шрифта системы.Функция GetDialogBaseUnits Windows возвращает текущие базовые единицы измерения диалогового окна в пикселях.Позиции табуляции должен быть отсортирован по возрастанию; задние вкладки не разрешены.

Возвращаемое значение

Ненулевой если все вкладки были установлены; в противном случае – значение 0.

Заметки

Для установки позиции табуляции по умолчанию 2 единиц размера диалогового окна, без параметров версия этого вызовите функцию-член.Для установки позиции табуляции до размера, отличное от 2, вызовите версию с аргументом cxEachStop.

Для установки позиции табуляции в массив размера, используйте версию с аргументами rgTabStops и nTabStops.Позиция табуляции будет установлена для каждого значения в rgTabStops до числа, определенного nTabStops.

Чтобы ответить на вызов к функции-члену SetTabStops список должны быть созданы с учетом LBS_USETABSTOPS.

Пример

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

Требования

Header: afxwin.h

См. также

Ссылки

CListBox - класс

Диаграмма иерархии

LB_SETTABSTOPS

GetDialogBaseUnits