Метод IShellFolderView::Переупорядочение (shlobj_core.h)
[Изменение порядка доступно для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте GetSortColumns.]
Изменяет порядок элементов в представлении в соответствии с правилом сортировки.
Синтаксис
HRESULT Rearrange(
[in] LPARAM lParamSort
);
Параметры
[in] lParamSort
Тип: LPARAM
Указывает способ выполнения переупорядочения.
Более низкие шестнадцать битов lParamSort определяют правило сортировки. Большинство приложений устанавливают для правила сортировки нулевое значение по умолчанию, указывая, что элементы должны быть отсортированы по имени. Система не определяет другие правила сортировки. Некоторые объекты папок могут разрешать вызывающим приложениям использовать более низкие шестнадцать бит lParamSort для указания правил сортировки для конкретных папок. Правила и связанные с ними значения lParamSort определяются папкой .
Когда объект представления системных папок вызывает IShellFolderView::Переупорядочение, для указания столбца, используемого для упорядочения, используются младшие шестнадцать битов lParamSort .
Верхние шестнадцать битов lParamSort используются для флагов, которые изменяют правило сортировки. В настоящее время система определяет следующие флаги модификаторов.
SHCIDS_ALLFIELDS
Версия 5.0. Упорядочить все сведения, содержащиеся в структуре ITEMIDLIST , а не только отображаемые имена. Этот флаг действителен только для объектов папок, поддерживающих интерфейс IShellFolder2 . Например, если два элемента являются файлами, папка должна упорядочить их имена, размеры, время файла, атрибуты и любые другие сведения в структурах. Если этот флаг установлен, младшие шестнадцать битов lParamSort должны быть равны нулю.
SHCIDS_CANONICALONLY
Версия 5.0. При упорядочении по имени упорядочение системных имен, но не отображаемых имен. При передаче этого флага два элемента упорядочены по тем критериям, которые папка оболочки определяет наиболее эффективно, при условии, что в ней реализована согласованная функция сортировки. Этот флаг нельзя сочетать с другими флагами.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Примечание к вызову приложений
Не устанавливайте флаг SHCIDS_ALLFIELDS в lParamSort , если объект папки не поддерживает IShellFolder2. Это может привести к непредсказуемым результатам. Если вы используете флаг SHCIDS_ALLFIELDS , для нижних шестнадцати битов lParamSort необходимо задать нулевое значение.Примечание для разработчиков
Чтобы извлечь правило сортировки, используйте побитовый оператор AND (&) для объединения lParamSort с SHCIDS_COLUMNMASK (0X0000FFFF). Эта операция маскирует верхние шестнадцать битов lParamSort, включая значение SHCIDS_ALLFIELDS .Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | shlobj_core.h |