Freigeben über


CListBox::SetTabStops

Legt die Tabulationspositionen in einem Listenfeld fest.

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

Parameter

  • cxEachStop
    Tabstopps werden an den Einheit jedes cxEachStop Dialogfelds festgelegt.Siehe rgTabStops für eine Beschreibung einer Dialogfeldeinheit.

  • nTabStops
    Gibt die Anzahl von Tabstopps an, die im Listenfeld zu haben.

  • rgTabStops
    Punkte zum ersten Member eines Arrays mit ganzen Zahlen, die die Tabulationspositionen in den Dialogeinheiten enthalten.Eine Dialogfeldeinheit ist ein horizontaler oder vertikaler Abstand.Horizontale Dialogfeldeinheit ist gleich ein viertel der aktuellen Dialogfeldbasis-Breiteneinheit, und eine vertikale Dialogfeldeinheit ist gleich ein-achte der aktuellen Dialogfeldbasis-Höheneinheit.Die Dialogfeldbasiseinheiten werden auf Grundlage der Höhe und Breite der aktuellen Systemschriftarten abgeleitet.Die GetDialogBaseUnits Windows-Funktion gibt die aktuellen Dialogfeldbasiseinheiten in Pixel zurück.Die Tabstopps müssen in aufsteigender Reihenfolge sortiert werden, Typisches Registerkarten sind nicht zulässig.

Rückgabewert

Ungleich 0 (null), wenn alle Registerkarten festgelegt wurden; 0 andernfalls.

Hinweise

Um Tabstopps in die Standardgröße von 2 Dialogeinheiten festzulegen, rufen Sie die parameterlose Version dieser Memberfunktion auf.Um Tabstopps auf eine Größe auf 2 festzulegen, rufen Sie die Version mit dem cxEachStop-Argument auf.

Um Tabstopps in ein Array Größen festzulegen, verwenden Sie die Version mit den rgTabStops und nTabStops-Argumenten.Ein Tabstopp wird für jeden Wert in rgTabStops, bis der Zahl festgelegt, die von nTabStops angegeben wird.

Um auf einen Aufruf auf die SetTabStops-Memberfunktion zu reagieren, muss das Listenfeld mit dem LBS_USETABSTOPS Format erstellt worden sein.

Beispiel

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

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CListBox-Klasse

Hierarchien-Diagramm

LB_SETTABSTOPS

GetDialogBaseUnits