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傳回的任何值(否則值仍然未設定。 |
|
fmt 成員有效。 |
|
類型 和 pvFilter 成員有效。 這可用來篩選出 類型 成員中指定的值。 |
|
與HDI_WIDTH相同。 |
|
iImage 成員有效,並指定要與專案一起顯示的影像。 |
|
lParam 成員有效。 |
|
iOrder 成員有效,並指定專案的順序值。 |
|
6.00 版和更新版本。 狀態 成員有效。 |
|
pszText 和 cchTextMax 成員有效。 |
|
cxy 成員有效,並指定項目的寬度。 |
cxy
類型:int
項目的寬度或高度。
pszText
類型:LPTSTR
專案字串的指標。 如果要從控件擷取文字,則必須初始化這個成員以指向字元緩衝區。 如果這個成員設定為LPSTR_TEXTCALLBACK,控件會傳送 HDN_GETDISPINFO 通知碼來要求這個專案的文字資訊。 請注意,雖然標頭控件允許任何長度的字串儲存為專案文字,但只會顯示前 260 TCHARs。
hbm
類型:HBITMAP
項目點陣圖的句柄。
cchTextMax
類型:int
專案字串的長度,TCHARs。 如果要從控件擷取文字,這個成員必須包含 pszText所指定位址的 TCHAR 數目。
fmt
類型:int
指定專案格式的旗標。
價值 | 意義 |
---|---|
|
設定下列其中一個旗標以指定文字理由: |
|
項目的內容會置中。 |
|
項目的內容會靠左對齊。 |
|
項目的內容靠右對齊。 |
|
設定下列其中一個旗標來控制顯示: |
|
項目會顯示點陣圖。 |
|
點陣圖會出現在文字右側。 |
|
標頭控件的擁有者會繪製專案。 |
|
項目會顯示字串。 |
|
上述值可以與下列項目結合: |
|
顯示影像清單中的影像。 傳送 HDM_SETIMAGELIST 訊息來指定影像清單。 指定此結構的 iImage 成員中的影像索引。 |
|
隔離對應至上表所列三個理由旗標的位。 |
|
一般而言,視窗會顯示由左至右的文字(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
類型:void*
應用程式定義資料項的位址。 數據篩選類型取決於設定成員的旗標值。 使用 HDFT_ISSTRING 旗標來表示字串,HDFT_ISNUMBER表示整數。 使用 HDFT_ISSTRING 旗標時,
state
類型:UINT
狀態。 這個成員唯一有效的支援值如下:
價值 | 意義 |
---|---|
|
專案具有鍵盤焦點。 |
言論
注意
commctrl.h 標頭會將 HDITEM 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
標頭 | commctrl.h |