共用方式為


IShellFolderView::Rearrange 方法 (shlobj_core.h)

[重新排列 可用於需求一節中指定的操作系統。 它在後續版本中可能會變更或無法使用。 請改用 GetSortColumns。]

根據排序規則重新排列檢視中的專案。

語法

HRESULT Rearrange(
  [in] LPARAM lParamSort
);

參數

[in] lParamSort

類型: LPARAM

指定應該如何執行重新排列。

lParamSort 的下十六位會定義排序規則。 大部分的應用程式會將排序規則設定為預設值零,表示專案應該依名稱排序。 系統不會定義任何其他排序規則。 某些資料夾物件可能會允許呼叫應用程式使用 lParamSort 的下十六位來指定資料夾特定的排序規則。 規則及其相關聯的 lParamSort 值是由資料夾所定義。

當系統資料夾檢視物件呼叫 IShellFolderView::Rearrange 時, 會使用 lParamSort 的下十六位來指定要用於排列的數據行。

lParamSort 的上十六位會用於修改排序規則的旗標。 系統目前定義下列修飾詞旗標。

SHCIDS_ALLFIELDS

5.0 版。 排列 ITEMIDLIST 結構中包含的所有資訊,而不只是顯示名稱。 這個旗標只適用於支援 IShellFolder2 介面的資料夾物件。 例如,如果這兩個專案是檔案,資料夾應該排列其名稱、大小、檔案時間、屬性,以及結構中的任何其他資訊。 如果設定此旗標, lParamSort 的下十六位必須是零。

SHCIDS_CANONICALONLY

5.0 版。 依名稱排列時,請排列系統名稱,但不會排列顯示名稱。 傳遞此旗標時,只要Shell資料夾實作一致的排序函式,Shell 資料夾會決定最有效率的任何準則來排列這兩個專案。 此旗標無法與其他旗標結合。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

呼叫應用程式的注意事項

如果資料夾物件不支援 IShellFolder2,請勿在 lParamSort 中設定SHCIDS_ALLFIELDS旗標。 這樣做可能會產生無法預期的結果。 如果您使用 SHCIDS_ALLFIELDS 旗標, lParamSort 的下十六位必須設定為零。

實作者的注意事項

若要擷取排序規則,請使用位AND運算元 (&) 來結合 lParamSort 與SHCIDS_COLUMNMASK (0X0000FFFF) 。 此作業會遮罩 lParamSort 的上十六位,包括 SHCIDS_ALLFIELDS 值。

規格需求

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