共用方式為


CListBox::SetTabStops

設定清單方塊的定位停駐點 (Tab Stop) 位置。

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

參數

  • cxEachStop
    定位停駐點設定每一個 cxEachStop 對話方塊單位。 以對話方塊單位的說明請參閱 rgTabStops

  • nTabStops
    在清單方塊中指定定位停駐點數目有。

  • rgTabStops
    物件陣列的第一個成員的點包含以對話方塊單位的整數定位停駐點 (Tab Stop) 位置。 對話方塊單位為水平或垂直距離。 一個層級的對話方塊單位等於目前對話基底寬度單位的四分之一,,和一個垂直對話方塊單位等於八分之一目前對話基底高度單位。 對話方塊的基本單位是以目前系統字型的高度和寬度計算。 GetDialogBaseUnits Windows 函式傳回像素中目前對話基本單位。 依遞增順序排序必須定位停駐點 (Tab Stop);回復選項不允許的。

傳回值

如果不是零,則所有選項設定;則為 0。

備註

若要設定定位停駐點加入至 2 個對話方塊單位的預設大小,請呼叫此成員函式無參數的版本。 2 以外,若要設定定位停駐點加入至大小,請使用 cxEachStop 引數的版本。

若要設定定位停駐點加入至大小,請使用 rgTabStops 和 nTabStops 引數的版本。 定位停駐點 (Tab Stop) 為 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