Condividi tramite


CListBox::SetTabStops

Imposta le posizioni tabstop in una casella di riepilogo.

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

Parametri

  • cxEachStop
    Le tabulazioni vengono impostati sulle unità di ogni finestra di dialogo cxEachStop.Vedere i rgTabStops per una descrizione di un'unità della finestra di dialogo.

  • nTabStops
    Specifica il numero di tabulazione per disporre nella casella di riepilogo.

  • rgTabStops
    Punti al primo membro di una matrice di valori interi che contengono le posizioni tabstop in unità della finestra di dialogo.Un'unità della finestra di dialogo è un oggetto orizzontale o una distanza verticale.Un'unità orizzontale della finestra di dialogo è uguale a un quarto di unità corrente della larghezza di base della finestra di dialogo e un'unità verticale della finestra di dialogo è uguale a una ottava di unità corrente dell'altezza di base della finestra di dialogo.Le unità di base della finestra di dialogo vengono calcolate in base all'altezza e larghezza del tipo di carattere di sistema corrente.La funzione di Windows GetDialogBaseUnits restituisce le unità di base della finestra di dialogo corrente in pixel.Le tabulazioni devono essere ordinate in ordine crescente, le schede finale non sono consentite.

Valore restituito

Diverso da zero se tutte le schede sono state impostate, in caso contrario 0.

Note

Per impostare i punti di tabulazione alla dimensione predefinita di 2 unità della finestra di dialogo, chiamare la versione senza parametri della funzione membro.Per impostare i punti di tabulazione a una dimensione diverso da 2, chiamare la versione con l'argomento cxEachStop.

Per impostare i punti di tabulazione in una matrice di dimensioni, utilizzare la versione con gli argomenti nTabStops e rgTabStops.Una tabulazione verrà impostata per ogni valore in rgTabStops, fino al numero specificato da nTabStops.

Per rispondere a una chiamata alla funzione membro SetTabStops, la casella di riepilogo deve essere creata con lo stile LBS_USETABSTOPS.

Esempio

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

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe di CListBox

Grafico della gerarchia

LB_SETTABSTOPS

GetDialogBaseUnits