HDITEMA 結構 (commctrl.h)

包含標頭控件中專案的相關信息。 這個結構會取代 HD_ITEM 結構。

語法

typedef struct _HD_ITEMA {
  UINT    mask;
  int     cxy;
  LPSTR   pszText;
  HBITMAP hbm;
  int     cchTextMax;
  int     fmt;
  LPARAM  lParam;
  int     iImage;
  int     iOrder;
  UINT    type;
  void    *pvFilter;
  UINT    state;
} HDITEMA, *LPHDITEMA;

成員

mask

類型: UINT

旗標,指出哪些其他結構成員包含有效的數據或必須填入。 此成員可以是下列值的組合:

意義
HDI_BITMAP
hbm 成員有效。
HDI_DI_SETITEM
處理訊息 HDM_GETITEM時,標頭控件可能沒有完成要求所需的所有值。 在此情況下,控件必須透過 HDN_GETDISPINFO 通知將應用程式呼叫回值。 如果HDI_DI_SETITEM已傳入 HDM_GETITEM 訊息中,控件會快取從 HDN_GETDISPINFO (传回的任何值,否則值會維持為 unset.)
HDI_FORMAT
fmt 成員有效。
HDI_FILTER
類型和pvFilter 成員有效。 這是用來篩選出 類型 成員中指定的值。
HDI_HEIGHT
與HDI_WIDTH相同。
HDI_IMAGE
iImage 成員有效,並指定要與專案一起顯示的影像。
HDI_LPARAM
lParam成員有效。
HDI_ORDER
iOrder 成員有效,並指定項目的訂單值。
HDI_STATE

6.00 版和更新版本狀態成員有效。

HDI_TEXT
pszTextcchTextMax 成員有效。
HDI_WIDTH
cxy 成員有效,並指定項目的寬度。

cxy

類型: int

項目的寬度或高度。

pszText

類型: LPTSTR

專案字串的指標。 如果要從控件擷取文字,則必須初始化這個成員以指向字元緩衝區。 如果此成員設定為 LPSTR_TEXTCALLBACK,控件會藉由傳送 HDN_GETDISPINFO 通知碼來要求這個專案的文字資訊。 請注意,雖然標頭控件允許將任何長度的字串儲存為項目文字,但只會顯示前 260 TCHAR

hbm

類型: HBITMAP

項目點陣圖的句柄。

cchTextMax

類型: int

TCHAR專案字串的長度。 如果要從控件擷取文字,這個成員必須包含 pszText 所指定位址的TCHAR 數目。

fmt

類型: int

指定專案格式的旗標。

意義
文字對齊:
設定下列其中一個旗標以指定文字對齊:
HDF_CENTER
項目的內容會置中。
HDF_LEFT
項目的內容靠左對齊。
HDF_RIGHT
項目的內容靠右對齊。
顯示:
設定下列其中一個旗標來控制顯示:
HDF_BITMAP
項目會顯示點陣圖。
HDF_BITMAP_ON_RIGHT
點陣圖會顯示在文字右邊。
HDF_OWNERDRAW
標頭控件的擁有者會繪製專案。
HDF_STRING
項目會顯示字串。
結合旗標:
上述值可以與下列項目結合:
HDF_IMAGE
顯示影像清單中的影像。 藉由傳送 HDM_SETIMAGELIST訊息來 指定影像清單。 在這個結構的 image 成員中指定影像的索引。
HDF_JUSTIFYMASK
隔離對應至上表所列之三個理由旗標的位。
HDF_RTLREADING
一般而言,視窗會顯示由左至右 (LTR) 的文字。 Windows 可以 鏡像 顯示希伯來文或阿拉伯文等語言,以從右至左 (RTL) 。 標頭文字通常會以與其父視窗中文字相同的方向讀取。 如果設定HDF_RTLREADING,標頭文字會從父視窗中的文字相反方向讀取。
HDF_SORTDOWN

6.00 版和更新版本。 在此專案上繪製向下箭號。 這通常用來指出目前視窗中的資訊會以遞減順序排序於此數據行上。 此旗標無法與HDF_IMAGE或HDF_BITMAP結合。

HDF_SORTUP

6.00 版和更新版本。 在此專案上繪製向上箭號。 這通常用來指出目前視窗中的資訊會以遞增順序排序在這個數據行上。 此旗標無法與HDF_IMAGE或HDF_BITMAP結合。

HDF_CHECKBOX

6.00 版和更新版本。 項目會顯示複選框。 只有在標頭控件上第一次設定 HDS_CHECKBOXES 樣式時,旗標才有效。

HDF_CHECKED

6.00 版和更新版本。 項目會顯示核取的複選框。 只有在同時設定HDF_CHECKBOX時,旗標才有效。

HDF_FIXEDWIDTH

6.00 版和更新版本。 用戶動作無法修改項目的寬度來調整它的大小。

HDF_SPLITBUTTON

6.00 版和更新版本。 項目會顯示分割按鈕。 按兩下分割按鈕時,就會傳送HDN_DROPDOWN通知。

lParam

類型: LPARAM

應用程式定義的項目數據。

iImage

類型: int

影像清單中的以零起始的索引。 除了 hbm 欄位中指定的任何影像之外,指定的影像也會顯示在標頭專案中。 如果 image 設定為 I_IMAGECALLBACK,控件會使用 HDN_GETDISPINFO 通知碼來要求這個專案的文字資訊。 若要清除影像,請將此值設定為 I_IMAGENONE。

iOrder

類型: int

項目出現在標頭控件中的順序,從左至右。 也就是說,最左邊專案的值是0。 右邊下一個專案的值是1,依此類此類傳。

type

類型: UINT

pvFilter 所指定的篩選類型。 可能的型別包括:

意義
HDFT_ISSTRING
字串數據。
HDFT_ISNUMBER
數值數據。
HDFT_HASNOVALUE
忽略 pvFilter
HDFT_ISDATE

6.00 版和更新版本。 日期數據。 pvFilter 成員是 SYSTEMTIME 結構的指標。

pvFilter

類型: void*

應用程式定義資料項的位址。 數據篩選類型是藉由設定成員的旗標值來決定。 使用 HDFT_ISSTRING 旗標來表示字串,並HDFT_ISNUMBER表示整數。 使用 HDFT_ISSTRING 旗標 時,pvFilterHDTEXTFILTER 結構的指標。

state

類型: UINT

狀態。 此成員唯一有效的支援值如下:

意義
HDIS_FOCUSED
專案具有鍵盤焦點。

備註

注意 Comctl32.dll 第 6 版無法轉散發,但包含在 Windows 中。 若要使用第 6 版 Comctl32.dll,請在指令清單中指定它。 如需指令清單的詳細資訊,請參閱 啟用可視化樣式
 

注意

commctrl.h 標頭會將 HDITEM 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 commctrl.h