PureBasic

ExplorerListGadget()

Синтаксис

Result = ExplorerListGadget(#Gadget , x , y , Width , Height , Directory$ , [, Flags])

Описание


Создает Гаджет "Список Проводника" (Explorer List Gadget), который отображает список файлов и каталогов, точно так же, как это делает Проводник (Explorer). Этот Гаджет позволяет пользователю выбрать файл или каталог, расположенные в любом месте диска.

Параметры

#Gadget Номер для идентификации нового Гаджета. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
x, y, Width, Height Позиция и размеры нового Гаджета.
Directory$ Имя, изначально отображаемого каталога. Это имя может включать одну или несколько масок, например "C:\*.pb;*.pbi". Если масок нет, имя каталога должно заканчиваться символом '\'. Отсутствие имени каталога приведёт к отображению корневого перечня дисков. Отсутствие масок понимается как маска по умолчанию '*.*'. Так что параметр Directory$ со значением "" отобразит корневой перечень дисков и установит маску '*.*'.
Flags (дополн.) Флаги, позволяющие изменить поведение Гаджета. Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'):
  #PB_Explorer_BorderLess          : Создать Гаджет без границ.
  #PB_Explorer_AlwaysShowSelection : Выделение отображается даже если Гаджет не активирован.
  #PB_Explorer_MultiSelect         : Разрешить множественное выделение элементов в Гаджете.
  #PB_Explorer_GridLines           : Отображать разделительные линии между строками и колонками.
  #PB_Explorer_HeaderDragDrop      : В режиме таблицы заголовки можно перетаскивать (Drag'n'Drop).
  #PB_Explorer_FullRowSelect       : Выделение охватывает всю строку, а не первую колонку.

  #PB_Explorer_NoFiles             : Не показывать файлы.
  #PB_Explorer_NoFolders           : Не показывать каталоги.
  #PB_Explorer_NoParentFolder      : Не показывать ссылку на родительский каталог [..].
  #PB_Explorer_NoDirectoryChange   : Пользователь не может сменить директорию.
  #PB_Explorer_NoDriveRequester    : Не показывать запрос 'пожалуйста, вставьте диск X:'.
  #PB_Explorer_NoSort              : Пользователь не может сортировать содержимое по клику на заголовке колонки.
  #PB_Explorer_NoMyDocuments       : Не показывать каталог 'Мои документы' в виде отдельного элемента.

  #PB_Explorer_AutoSort            : Содержимое автоматически упорядочивается по имени.
  #PB_Explorer_HiddenFiles         : Будет отображать скрытые файлы (поддерживается только в Linux и OS X).

Возвращаемое значение

Возвращает не нулевое значение в случае успешного создания Гаджета, в противном случае возвращает ноль. Если в качестве параметра #Gadget использовалось значение #PB_Any, то в случае успеха, возвращаемым значением будет сгенерированный Номер Гаджета.

Комментарии

Вы можете добавить 'Всплывающую мини-подсказку' к этому Гаджету с помощью функции GadgetToolTip().

Для управления Гаджетом можно использовать следующие функции:

- AddGadgetColumn(): Добавляет в Гаджет новый столбец (возможно задать любую форму отображения информации). См. описании AddGadgetColumn().
- RemoveGadgetColumn(): Удаляет указанный столбец из Гаджета.
- GetGadgetText(): Возвращает каталог, который в данный момент выбран текущим (содержимое которого выведено на экран).
- SetGadgetText(): Изменяет каталог, который в данный момент выбран текущим (содержимое которого выведено на экран) и маску для отображения файлов.
- GetGadgetState(): Возвращает индекс первого выделенного элемента Гаджета (-1 если ничего не выделено).
- GetGadgetItemText(): Возвращает имя элемента (без пути), (или заголовок столбца, если 'Item' = -1).
- SetGadgetItemText(): Изменяет текст (имя) указанного элемента заданного столбца (или заголовка столбца, если 'Item' = -1), или заполняет пользовательский столбец данными.
- GetGadgetItemState(): Проверяет, является ли данный элемент каталогом или файлом, и выделен ли он в данный момент.
- SetGadgetItemState(): Изменяет состояние указанного элемента (выделен / не выделен).
- CountGadgetItems(): Подсчитывает элементы в текущем каталоге.
- GetGadgetAttribute() / SetGadgetAttribute(): Со следующим атрибутом:
  #PB_Explorer_DisplayMode : Изменяет отображение Гаджета. Может быть одной из следующих констант (только для windows):
    #PB_Explorer_LargeIcon: Режим "Крупные значки"
    #PB_Explorer_SmallIcon: Режим "Мелкие значки"
    #PB_Explorer_List     : Режим "В виде списка"
    #PB_Explorer_Report   : Режим "Таблица" (колонки, режим по умолчанию)

- GetGadgetItemAttribute() / SetGadgetItemAttribute(): Со следующим атрибутом:
  #PB_Explorer_ColumnWidth : Возвращает/Изменяет ширину заданного столбца. Параметр 'Item' игнорируется.

Этот Гаджет поддерживает функции SetGadgetColor() и GetGadgetColor() со следующими значениями для параметра 'ColorType':
  #PB_Gadget_FrontColor: Цвет текста.
  #PB_Gadget_BackColor : Цвет фона.
  #PB_Gadget_LineColor : Цвет для линий сетки, если используется флаг #PB_Explorer_GridLines.
ExplorerListGadget() поддерживает следующие события, о которых сообщает EventType():
  #PB_EventType_Change           : Выбор текущего элемента изменился.
  #PB_EventType_LeftClick        : Пользователь кликнул на элементе левой кнопкой мыши.
  #PB_EventType_RightClick       : Пользователь кликнул на элементе правой кнопкой мыши.
  #PB_EventType_LeftDoubleClick  : Пользователь сделал двойной клик на элементе левой кнопкой мыши.
  #PB_EventType_RightDoubleClick : Пользователь сделал двойной клик на элементе правой кнопкой мыши.
  #PB_EventType_DragStart        : Пользователь попытался начать перетаскивание (Drag & Drop).
После события #PB_EventType_DragStart библиотека Drag & Drop может использоваться для запуска операции Drag & Drop (Перетаскивание мышью).

Пример

If OpenWindow(0, 0, 0, 400, 200, "Гаджет Список Проводника", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ExplorerListGadget(0, 10, 10, 380, 180, "*.*", #PB_Explorer_MultiSelect)
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

См. также

AddGadgetColumn(), RemoveGadgetColumn(), GetGadgetText(), SetGadgetText(), GetGadgetState(), GetGadgetItemState(), GetGadgetItemText(), SetGadgetItemText(), CountGadgetItems(), GetGadgetAttribute(), SetGadgetAttribute(), GetGadgetItemAttribute(), SetGadgetItemAttribute(), SetGadgetColor(), SetGadgetItemState(), GetGadgetColor(), ExplorerComboGadget(), ExplorerTreeGadget(), ListIconGadget()

Поддерживаемые OS

Все

<- ExplorerComboGadget() - Оглавление Gadget - ExplorerTreeGadget()->