Compartilhar via


CListBox::SetTabStops

Defina as posições de tabulação em uma caixa de listagem.

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

Parâmetros

  • cxEachStop
    Paradas de tabulação são definidas em unidades de cada caixa de diálogo de cxEachStop .Consulte rgTabStops para obter uma descrição de uma unidade de diálogo.

  • nTabStops
    Especifica o número de paradas de tabulação para ter na caixa de listagem.

  • rgTabStops
    Aponta para o primeiro membro de uma matriz de inteiros que contêm as posições de tabulação em unidades de diálogo.Uma unidade de diálogo é a distância horizontal ou vertical.Uma unidade horizontal da caixa de diálogo é igual a um quarto da unidade atual da largura de base da caixa de diálogo, e uma unidade vertical da caixa de diálogo é igual ao de um oitava da unidade atual de altura de base da caixa de diálogo.As unidades base da caixa de diálogo são computadas com base na altura e a largura da fonte do sistema atual.A função do windows de GetDialogBaseUnits retorna as unidades base da caixa de diálogo atual em pixels.Paradas de tabulação devem ser classificadas na ordem crescente; não são permitidos para guias novamente.

Valor de retorno

Diferente de zero se todos os guias foram alterados; se não 0.

Comentários

Para definir paradas de tabulação para o tamanho padrão de 2 unidades de diálogo, chame a versão sem parâmetros da função de membro.Para definir paradas de tabulação para um tamanho diferente de 2, chame a versão com o argumento de cxEachStop .

Para definir paradas de tabulação em uma matriz de tamanho, use a versão com os argumentos de rgTabStops e de nTabStops .Uma parada de tabulação será definida para cada valor em rgTabStops, até o número especificado por nTabStops.

Para responder a uma chamada para a função de membro de SetTabStops , a caixa de listagem deve ter sido criada com o estilo de LBS_USETABSTOPS .

Exemplo

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

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe de CListBox

Gráfico de hierarquia

LB_SETTABSTOPS

GetDialogBaseUnits