ListView_SetItemState巨集 (commctrl.h)
變更清單檢視控件中項目的狀態。 您可以使用此巨集或明確傳送 LVM_SETITEMSTATE 訊息。
語法
void ListView_SetItemState(
HWND hwndLV,
int i,
UINT data,
UINT mask
);
參數
hwndLV
類型:HWND
清單檢視控件的句柄。
i
類型:int
清單檢視專案的索引。 如果此參數為 -1,則狀態變更會套用至所有專案。
data
類型:UINT
專案的新狀態位。 mask 參數表示 數據 參數的有效位。 如果 mask 參數中未設定對應的位,則巨集會忽略 數據 參數中的位。 低序位元組包含一組位旗標,指出項目的狀態。 這個位元組可以是下列值的組合:
價值 | 意義 |
---|---|
|
項目會標示為剪貼作業。 |
|
專案會反白顯示為拖放目標。 |
|
專案具有焦點,因此會以標準焦點矩形括住。 雖然可以選取多個專案,但只有一個專案可以擁有焦點。 |
|
已選取專案。 選取項目的外觀取決於它是否具有焦點,以及用於選取的系統色彩。 只有在清單檢視控件具有焦點或使用 LVS_SHOWSELALWAYS 樣式時,專案才會顯示為已選取。 |
mask
類型:UINT
您想要設定或清除之 資料 參數的位。 您可以使用 ListView_SetItemState 來設定和清除位。 若要設定專案的重疊影像索引,請設定 LVIS_OVERLAYMASK 位。 若要設定專案的狀態影像索引,請設定 LVIS_STATEIMAGEMASK 位。
傳回值
沒有
言論
項目的狀態值包含一組位旗標,指出項目的狀態。 狀態值也可以包含影像清單索引,指出專案的狀態影像和重疊影像。
mask 參數會指定您要修改的狀態位,而 數據 參數會指定這些位的新值。 若要在專案的內部狀態中設定位,請在 遮罩 和 數據 參數中設定。 若要清除項目內部狀態中的某個位,請在 mask 參數中設定它,並在 數據 參數中加以清除。 若要在項目的內部狀態中保留一點不變,請在 mask 參數中清除它。
位 8 到 11 的 資料 參數會指定控件影像清單中重疊影像的一個起始索引。 完整大小的圖示影像清單和小型圖示影像清單都可以有重疊影像。 重疊影像會加疊在項目的圖示影像上。 如果這些位為零,則項目沒有重疊影像。 若要隔離這些位,請使用 LVIS_OVERLAYMASK 遮罩。 若要指定重疊索引,請使用 INDEXTOOVERLAYMASK 巨集。
位12到15個 資料 參數指定控件狀態映像清單中的影像單一式索引。 狀態影像會顯示在項目圖示旁,以指出應用程式定義的狀態。 如果這些位為零,則項目沒有狀態影像。 若要隔離這些位,請使用 LVIS_STATEIMAGEMASK 遮罩。 若要指定狀態影像索引,請使用 INDEXTOSTATEIMAGEMASK 巨集。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | commctrl.h |