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
旗標,指出哪些其他結構成員包含有效的數據或必須填入。 此成員可以是下列值的組合:
值 | 意義 |
---|---|
|
hbm 成員有效。 |
|
處理訊息 HDM_GETITEM時,標頭控件可能沒有完成要求所需的所有值。 在此情況下,控件必須透過 HDN_GETDISPINFO 通知將應用程式呼叫回值。 如果HDI_DI_SETITEM已傳入 HDM_GETITEM 訊息中,控件會快取從 HDN_GETDISPINFO (传回的任何值,否則值會維持為 unset.) |
|
fmt 成員有效。 |
|
類型和pvFilter 成員有效。 這是用來篩選出 類型 成員中指定的值。 |
|
與HDI_WIDTH相同。 |
|
iImage 成員有效,並指定要與專案一起顯示的影像。 |
|
lParam成員有效。 |
|
iOrder 成員有效,並指定項目的訂單值。 |
|
6.00 版和更新版本。 狀態成員有效。 |
|
pszText 和 cchTextMax 成員有效。 |
|
cxy 成員有效,並指定項目的寬度。 |
cxy
類型: int
項目的寬度或高度。
pszText
類型: LPTSTR
專案字串的指標。 如果要從控件擷取文字,則必須初始化這個成員以指向字元緩衝區。 如果此成員設定為 LPSTR_TEXTCALLBACK,控件會藉由傳送 HDN_GETDISPINFO 通知碼來要求這個專案的文字資訊。 請注意,雖然標頭控件允許將任何長度的字串儲存為項目文字,但只會顯示前 260 TCHAR。
hbm
類型: HBITMAP
項目點陣圖的句柄。
cchTextMax
類型: int
TCHAR中專案字串的長度。 如果要從控件擷取文字,這個成員必須包含 pszText 所指定位址的TCHAR 數目。
fmt
類型: int
指定專案格式的旗標。
值 | 意義 |
---|---|
|
設定下列其中一個旗標以指定文字對齊: |
|
項目的內容會置中。 |
|
項目的內容靠左對齊。 |
|
項目的內容靠右對齊。 |
|
設定下列其中一個旗標來控制顯示: |
|
項目會顯示點陣圖。 |
|
點陣圖會顯示在文字右邊。 |
|
標頭控件的擁有者會繪製專案。 |
|
項目會顯示字串。 |
|
上述值可以與下列項目結合: |
|
顯示影像清單中的影像。 藉由傳送 HDM_SETIMAGELIST訊息來 指定影像清單。 在這個結構的 image 成員中指定影像的索引。 |
|
隔離對應至上表所列之三個理由旗標的位。 |
|
一般而言,視窗會顯示由左至右 (LTR) 的文字。 Windows 可以 鏡像 顯示希伯來文或阿拉伯文等語言,以從右至左 (RTL) 。 標頭文字通常會以與其父視窗中文字相同的方向讀取。 如果設定HDF_RTLREADING,標頭文字會從父視窗中的文字相反方向讀取。 |
|
6.00 版和更新版本。 在此專案上繪製向下箭號。 這通常用來指出目前視窗中的資訊會以遞減順序排序於此數據行上。 此旗標無法與HDF_IMAGE或HDF_BITMAP結合。 |
|
6.00 版和更新版本。 在此專案上繪製向上箭號。 這通常用來指出目前視窗中的資訊會以遞增順序排序在這個數據行上。 此旗標無法與HDF_IMAGE或HDF_BITMAP結合。 |
|
6.00 版和更新版本。 項目會顯示複選框。 只有在標頭控件上第一次設定 HDS_CHECKBOXES 樣式時,旗標才有效。 |
|
6.00 版和更新版本。 項目會顯示核取的複選框。 只有在同時設定HDF_CHECKBOX時,旗標才有效。 |
|
6.00 版和更新版本。 用戶動作無法修改項目的寬度來調整它的大小。 |
|
6.00 版和更新版本。 項目會顯示分割按鈕。 按兩下分割按鈕時,就會傳送HDN_DROPDOWN通知。 |
lParam
類型: LPARAM
應用程式定義的項目數據。
iImage
類型: int
影像清單中的以零起始的索引。 除了 hbm 欄位中指定的任何影像之外,指定的影像也會顯示在標頭專案中。 如果 image 設定為 I_IMAGECALLBACK,控件會使用 HDN_GETDISPINFO 通知碼來要求這個專案的文字資訊。 若要清除影像,請將此值設定為 I_IMAGENONE。
iOrder
類型: int
項目出現在標頭控件中的順序,從左至右。 也就是說,最左邊專案的值是0。 右邊下一個專案的值是1,依此類此類傳。
type
類型: UINT
pvFilter 所指定的篩選類型。 可能的型別包括:
值 | 意義 |
---|---|
|
字串數據。 |
|
數值數據。 |
|
忽略 pvFilter。 |
|
6.00 版和更新版本。 日期數據。 pvFilter 成員是 SYSTEMTIME 結構的指標。 |
pvFilter
類型: void*
應用程式定義資料項的位址。 數據篩選類型是藉由設定成員的旗標值來決定。 使用 HDFT_ISSTRING 旗標來表示字串,並HDFT_ISNUMBER表示整數。 使用 HDFT_ISSTRING 旗標 時,pvFilter 是 HDTEXTFILTER 結構的指標。
state
類型: UINT
狀態。 此成員唯一有效的支援值如下:
值 | 意義 |
---|---|
|
專案具有鍵盤焦點。 |
備註
注意
commctrl.h 標頭會將 HDITEM 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
標頭 | commctrl.h |