共用方式為


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 參數中未設定對應的位,則巨集會忽略 數據 參數中的位。 低序位元組包含一組位旗標,指出項目的狀態。 這個位元組可以是下列值的組合:

價值 意義
LVIS_CUT
項目會標示為剪貼作業。
LVIS_DROPHILITED
專案會反白顯示為拖放目標。
LVIS_FOCUSED
專案具有焦點,因此會以標準焦點矩形括住。 雖然可以選取多個專案,但只有一個專案可以擁有焦點。
LVIS_SELECTED
已選取專案。 選取項目的外觀取決於它是否具有焦點,以及用於選取的系統色彩。 只有在清單檢視控件具有焦點或使用 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

另請參閱

ListView_GetItemState