Интерфейс ListView

Компонент ListView предназначен для отображения коллекции элементов ListItem. Подробнее...

Граф наследования:ListView:

Inheritance graph
Граф связей класса ListView:

Collaboration graph
Полный список членов класса

Открытые члены

 Add ([in] BSTR Text,[out, retval] IDispatch **pItem)
 Метод позволяет добавить элемент.
 Insert ([in] LONG Index,[in] BSTR Text,[out, retval] IDispatch **pItem)
 Метод возволяет добавить элемент в заданную позицию.
 Remove ([in] LONG Index)
 Метод позволяет удалить элемент из коллекции.
 Clear ()
 Метод очищает коллекцию, удаляя все элементы, и устанавливая значение свойства Count в 0.
 BeginUpdate ()
 Метод запрещает обновление компонента после изменения коллекции, полезно вызывать этот метод перед добавлением большого количества элементов.
 EndUpdate ()
 Метод разрешает обновление компонента после изменения коллекции.
 SelectAll ()
 Метод выделяет все элементы.
 ClearSelection ()
 Метод сбрасывает выделение.
 EditItem ([in] LONG Index)
 Метод позволяет редактировать текст элемента.
 Sort ([in, defaultvalue(DT_STRING)] LONG DataType,[in, defaultvalue(FALSE)] VARIANT_BOOL Reverse,[in, defaultvalue(0)] ULONG Column)
 Метод сортирует элементы.
 Arrange ()
 Позволяет выровнять все элементы в контроле.

Свойства

LPUNKNOWN R _NewEnum []
 Это свойство реализует функционирование объекта как коллекции, его не нужно вызывать напрямую.
VARIANT R Item [[in] long Index] []
 Свойство позволяет обратиться к элементам коллекции.
long RW Count []
 Свойство позволяет получить или установить количество элементов в коллекции.
IDispatch *RW LargeImages []
 Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для элементов, если значение свойства Style - LVS_ICON.
IDispatch *RW SmallImages []
 Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для элементов, если значение свойства Style не LVS_ICON.
IDispatch *RW StateImages []
 Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для состояния элементов.
LONG RW Style []
 Свойство определяет стиль компонента и может принимать следующие значения:.
ULONG RW TextBkColor []
 Свойство определяет цвет фона у текста элементов.
VARIANT_BOOL RW MultiSelect []
 Свойство определяет возможность выбора нескольких элементов.
VARIANT_BOOL RW HideSelection []
 Свойство определяет что компонент скрывает выделение при потере фокуса ввода.
LONG R SelCount []
 Свойство определяет количество выделенных элементов.
LONG RW ItemIndex []
 Свойство определяет индекс сфокусированного элемента.
IDispatch *R Columns []
 Свойство содержит объект ListViewColumns определяющего колонки компонента, если свойство Style имеет значение LVS_REPORT.
VARIANT_BOOL RW CheckBoxes []
 Свойство определяет отображение переключателей у элементов.
VARIANT_BOOL RW GridLines []
 Свойство определяет отображение табличных полос, если свойство Style имеет значение LVS_REPORT.
VARIANT_BOOL RW HotTrack []
 Свойство определяет смену цвета текста элементов при наведении на них указателя мышки, аналогично гиперссылкам.
VARIANT_BOOL RW RowSelect []
 Свойство определяет выделения строки элемента целиком, если свойство Style имеет значение LVS_REPORT.
VARIANT_BOOL RW BorderSelect []
 Свойство определяет рисование рамки у элемента при выделении.
VARIANT_BOOL RW FlatScrollBars []
 Свойство определяет что полосы прокрутки у компонента - плоские.
VARIANT_BOOL RW OwnerData []
 Свойство определяет нахождение компонента в виртуальном режиме.
VARIANT_BOOL RW ReadOnly []
 Свойство запрещает редактирование текста элементов пользователем или при вызове метода EditItem.
VARIANT_BOOL RW WrapText []
 Свойство позволяет переносить слова при отображении текста элементов.
LONG RW Arrangement []
 Свойство определяет упорядочение элементов в режимах LVS_ICON и LVS_SMALLICON.
VARIANT_BOOL RW HeaderDragDrop []
 Позволяет пользователю менять местами колонки через Drag&Drop.
VARIANT_BOOL RW InfoTip []
 Позволяет отображать подсказки Hint для элементов.
VARIANT W BackgroundImage []
 Свойство позволяет устанавить изображение для фона.
IDispatch *R WorkAreas []
 Позволяет определить рабочие области (Work Area) для ListView.
IDispatch *R Groups []
 Позволяет определить группы для ListView.
ULONG RW TileLines []
 Определяет число дополнительных строк, отображаемых для элемента, когда Style = LV_VIEW_TILE.
ULONG RW TileWidth []
 Определяет длину элемента, когда Style = LV_VIEW_TILE.
ULONG RW TileHeight []
 Определяет высоту элемента, когда Style = LV_VIEW_TILE.
VARIANT_BOOL RW DoubleBuffering []
 Если "TRUE", то при отрисовке контрола используется дополнительный буфер.
VARIANT_BOOL RW TransparentBackground []
 Если "TRUE", то контрол прозрачный, т.
IDispatch *RW GroupHeaderImages []
 Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для заголовков групп Groups, Для групп можно задавать индекс в этом списке через свойство TitleImage.
LONG RW IconSpacingWidth []
 Позволяет задать размер элемента по горизонтали в режиме Style = LVS_ICON.
VARIANT_BOOL RW CustomDraw []
 Позволяет задавать цвет и шрифт отдельным элементам через Font, TextBkColor, SubItemsEx (Font).
LONG RW IconSpacingHeight []
 Позволяет задать размер элемента по вертикали в режиме Style = LVS_ICON.
VARIANT_BOOL RW ReadOnlySubItems []
 Если свойство имеет значение "FALSE", то значения в дополнительных колонках могут редактироваться.
VARIANT_BOOL RW QuickEdit []
 Данное свойство используется только если ReadOnlySubItems = "FALSE", т.
VARIANT_BOOL RW CheckByMouse []
 Разрешает или запрещает изменение состояния переключателей элементов с помощью мышки.
VARIANT W OnColumnClick []
 Свойство позволяет задать обработчик события OnColumnClick через 2-й уровень.
VARIANT W OnColumnResize []
 Свойство позволяет задать обработчик события OnColumnResize через 2-й уровень.
VARIANT W OnData []
 Свойство позволяет задать обработчик события OnData через 2-й уровень.
VARIANT W OnItemCheck []
 Свойство позволяет задать обработчик события OnItemCheck через 2-й уровень.
VARIANT W OnEdited []
 Свойство позволяет задать обработчик события OnEdited через 2-й уровень.
VARIANT W OnBeginEdit []
 Свойство позволяет задать обработчик события OnBeginEdit через 2-й уровень.
VARIANT W OnGroupLinkClick []
 Свойство позволяет задать обработчик события OnGroupLinkClick через 2-й уровень.
VARIANT W OnDrawItem []
 Свойство позволяет задать обработчик события OnDrawItem через 2-й уровень.
VARIANT W OnSubItemEdited []
 Свойство позволяет задать обработчик события OnSubItemEdited через 2-й уровень.
VARIANT W OnBeginSubItemEdit []
 Свойство позволяет задать обработчик события OnBeginSubItemEdit через 2-й уровень.

Подробное описание

Компонент ListView предназначен для отображения коллекции элементов ListItem.

Элементы могут иметь текст и изображение, а также переключатели если свойство CheckBoxes имеет значение "TRUE".

Заметки:
Изображение элемента берется из списка, заданного свойством LargeImages, если свойство Style имеет значение LVS_ICON, иначе изображение берется из списка, заданного свойством SmallImages.
События: компонент поддерживает события группы ListViewEvents.

Создание: Компонент можно создать методом CreateListView класса Frame.

Элементы также могут иметь дополнительную строковую информацию и компонент может отображать элементы в виде таблицы с несколькими колонками, если свойство Style имеет значение LVS_REPORT. Для настройки колонок предназначено свойство Columns.

При добавлении большого количества элементов рекомендуется перед добавлением вызвать метод BeginUpdate, а после добавления EndUpdate, вызовы этих методов предотвращают обновление параметров компонента после добавления каждого элемента, что значительно уменьшает время, которое тратиться на добавление элементов. Достаточно быстро при этом добавляются элементы до 10000.

В случае если данные храняться независимо от компонента ListView, то для предотвращения хранения данных и в компоненте можно использовать его в виртуальном режиме.


Методы

Add ( [in] BSTR  Text,
[out, retval] IDispatch **  pItem 
)

Метод позволяет добавить элемент.

Аргументы:
Text текст элемента
Возвращаемые значения:
pItem созданный объект ListItem
Заметки:
В виртуальном режиме компонент просто увеличивает свойство Count на 1 и возвражает 0.

Arrange (  ) 

Позволяет выровнять все элементы в контроле.

Применяется только если определены рабочие области WorkAreas. Например, вначале все элементы помещаются в рабочую область, затем вызывается Arrange, который выравнивает все элементы в рабочих областях.

Начиная с:
1.1.10.

BeginUpdate (  ) 

Метод запрещает обновление компонента после изменения коллекции, полезно вызывать этот метод перед добавлением большого количества элементов.

После вызова метода необходимо вызвать метод EndUpdate.

Clear (  ) 

Метод очищает коллекцию, удаляя все элементы, и устанавливая значение свойства Count в 0.

ClearSelection (  ) 

Метод сбрасывает выделение.

EditItem ( [in] LONG  Index  ) 

Метод позволяет редактировать текст элемента.

Для редактирования отображается компонент редактирования текста. После редактирования вызываются обработчики события OnEdited.

Заметки:
Свойство ReadOnly владельца должно иметь значение "FALSE".

EndUpdate (  ) 

Метод разрешает обновление компонента после изменения коллекции.

Его нужно вызывать после вызова метода BeginUpdate.

Insert ( [in] LONG  Index,
[in] BSTR  Text,
[out, retval] IDispatch **  pItem 
)

Метод возволяет добавить элемент в заданную позицию.

Аргументы:
Index требуемая позиция для элемента.
Text текст элемента
Возвращаемые значения:
pItem созданный объект ListItem
Заметки:
В виртуальном режиме компонент просто увеличивает свойство Count на 1 и возвражает 0.

Remove ( [in] LONG  Index  ) 

Метод позволяет удалить элемент из коллекции.

Аргументы:
Index определяет индекс элемента

SelectAll (  ) 

Метод выделяет все элементы.

Sort ( [in, defaultvalue(DT_STRING)] LONG  DataType,
[in, defaultvalue(FALSE)] VARIANT_BOOL  Reverse,
[in, defaultvalue(0)] ULONG  Column 
)

Метод сортирует элементы.

Аргументы:
DataType тип данных, в соответствии с которым осуществляется сортировка
Reverse параметр определяет направление сортировки, значение "FALSE" соответствует сортировке по возрастанию, "TRUE" - по убыванию.
Column колонка, по содержимому которой производится сортировка
Пример (JScript):
o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 550
f.ClientHeight = 250
f.CenterControl()

ListView = f.CreateListView(10,10,280,130,o.Translate("LVS_REPORT"))
ListView.Align = o.Translate("AL_CLIENT")
ListView.Columns.Add("Column 1",150)
ListView.Columns.Add("Column 2",200)
ListView.Columns.Add("Column 3",200)
ListView.OnColumnClick = OnColumnClick
ListView.RowSelect = true

for (i = 1; i<25; i++)
{
        var Item = ListView.Add(i)
        Item.SubItems(0) = RandomText(5)
        Item.SubItems(1) = Math.round(Math.random()*1000)
}

function RandomText(Count)
{
        var S = ""
        var Index 
        for (var i = 0; i<Count; i++)
        {
                Index = Math.round(Math.random()*10)
                S += String.fromCharCode("A".charCodeAt(0) + Index)
        }
        return S
}

SortColumn = -1
SortReverse = false

f.Show()

o.Run()


function OnColumnClick(Sender,Column)
{
        f.Text = Column.Text+": index="+Column.Index
        if (SortColumn == Column.Index)
        {
                SortReverse = !SortReverse 
        } else
        {
                SortColumn = Column.Index
                SortReverse = false
        }
        var SortMode = o.Translate("DT_STRING")
        if (Column.Index == 0)
                SortMode = o.Translate("DT_INTEGER")
        if (Column.Index == 2)
                SortMode = o.Translate("DT_INTEGER")
        ListView.Sort(SortMode,SortReverse,Column.Index)
}

Результат:
ListViewSort.jpg


Полный список свойств

LPUNKNOWN R _NewEnum

Это свойство реализует функционирование объекта как коллекции, его не нужно вызывать напрямую.

LONG RW Arrangement

Свойство определяет упорядочение элементов в режимах LVS_ICON и LVS_SMALLICON.

Доступные значения:

VARIANT W BackgroundImage

Свойство позволяет устанавить изображение для фона.

Аргументы:
Image изображение, параметр может быть:
Начиная с:
1.1.10.

VARIANT_BOOL RW BorderSelect

Свойство определяет рисование рамки у элемента при выделении.

Значение по умолчанию: "FALSE".

VARIANT_BOOL RW CheckBoxes

Свойство определяет отображение переключателей у элементов.

Значение по умолчанию: "FALSE".

Заметки:
При смене пользователем состояния переключателя возникает событие OnItemCheck.

VARIANT_BOOL RW CheckByMouse

Разрешает или запрещает изменение состояния переключателей элементов с помощью мышки.

Если "TRUE", то значения переключателей можно менять мышкой и клавиатурой. Если "FALSE", то значения переключателей можно менять только клавиатурой (используя пробел).

CheckBoxes должно быть "TRUE".

Default value: "TRUE".

Начиная с:
1.1.15.

IDispatch* R Columns

Свойство содержит объект ListViewColumns определяющего колонки компонента, если свойство Style имеет значение LVS_REPORT.

long RW Count

Свойство позволяет получить или установить количество элементов в коллекции.

VARIANT_BOOL RW CustomDraw

Позволяет задавать цвет и шрифт отдельным элементам через Font, TextBkColor, SubItemsEx (Font).

Требуется задать значение "TRUE", чтобы элементы могли отображаться разным цветом. Значение по умолчанию: "FALSE".

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")
o.EnableVisualStyles = true

fs = new ActiveXObject("Scripting.FileSystemObject")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 510
f.ClientHeight = 200
f.CenterControl()
f.Text = "ListView Colors Demo"

Box = f.CreateListView(10,10,250,300,o.Translate("LVS_REPORT"))
Box.RowSelect = true
Box.Align = o.Translate("AL_CLIENT")

//This is required
Box.CustomDraw = true


Box.Columns.Add("Column 1",200)
Box.Columns.Add("Column 2",150)
Box.Columns.Add("Column 3",150)

//Specify Font Size - maximum value and for an item you can use less.
Box.Font.Size = 16
for (i = 0; i<5; i++)
{
        Item = Box.Add("Item "+i)
        if (i % 2 == 0)
        {
                Item.Font.Color = 0x0000FF00
                Item.Font.Size = 12
                Item.SubItemsEx(0).Font.Color = 0x000000FF
                Item.SubItemsEx(1).Font.Color = 0x00F0F000
        }
        if (i == 0)
                Item.TextBkColor = 0x00E0E0FF

        Item.SubItems(0) = "Text"
        Item.SubItems(1) = "Text 2"
}


f.Show()

o.Run()

Результат:
ListViewColors.jpg

Также можно использовать событие OnDrawItem. Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")
o.EnableVisualStyles = true

fs = new ActiveXObject("Scripting.FileSystemObject")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 510
f.ClientHeight = 200
f.CenterControl()
f.Text = "ListView Colors Demo"

Box = f.CreateListView(10,10,250,300,o.Translate("LVS_REPORT"))
Box.RowSelect = true
Box.Align = o.Translate("AL_CLIENT")

//This is required
Box.CustomDraw = true


Box.Columns.Add("Column 1",200)
Box.Columns.Add("Column 2",150)
Box.Columns.Add("Column 3",150)

//Specify Font Size - maximum value and for an item you can use less.
Box.Font.Size = 16
for (i = 0; i<5; i++)
{
        Item = Box.Add("Item "+i)
        Item.SubItems(0) = "Text"
        Item.SubItems(1) = "Text 2"
}

Box.OnDrawItem = OnDrawItem

function OnDrawItem(Sender,Item)
{
        i = Item.Index

        if (i % 2 == 0)
        {
                Item.Font.Color = 0x0000FF00
                Item.Font.Size = 12
                Item.SubItemsEx(0).Font.Color = 0x000000FF
                Item.SubItemsEx(1).Font.Color = 0x00F0F000
        }
        if (i == 0)
                Item.TextBkColor = 0x00E0E0FF
}

f.Show()

o.Run()

Результат:
ListViewColors.jpg

Начиная с:
1.1.12.

VARIANT_BOOL RW DoubleBuffering

Если "TRUE", то при отрисовке контрола используется дополнительный буфер.

Вначале требуемое изображение формируется в буфере, затем изображение из буфера отрисовывается на экране. Это позволяет убрать "моргание" контрола при, например, прокрутке. Не рекомендуется включать, если OwnerData = "TRUE", если получение информации о конкретном элементе в событии OnData может занимать относительно большое время, т. к. при отрисовке контрола в режиме двойной буферизации всегда отрисовываются все элементы, что может занять большее время, чем обычно, в этом случае. Требуется Comctl32.dll версии 6. Требуется активация тем (Themes). Значение по умолчанию: "FALSE".

Начиная с:
1.1.10.

VARIANT_BOOL RW FlatScrollBars

Свойство определяет что полосы прокрутки у компонента - плоские.

Значение по умолчанию: "FALSE".

VARIANT_BOOL RW GridLines

Свойство определяет отображение табличных полос, если свойство Style имеет значение LVS_REPORT.

Значение по умолчанию: "FALSE".

IDispatch* RW GroupHeaderImages

Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для заголовков групп Groups, Для групп можно задавать индекс в этом списке через свойство TitleImage.

Заметки:
можно задать существующий объект, так и просто обратиться к свойству для чтения, при этом объект создается автоматически если требуется.
Начиная с:
1.1.10.

IDispatch* R Groups

Позволяет определить группы для ListView.

Метод возвращает объект ListViewGroups. OwnerData = "TRUE" не поддерживается, если определены WorkAreas или Groups (Ограничение Windows). Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")
o.EnableVisualStyles = true

fs = new ActiveXObject("Scripting.FileSystemObject")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 550
f.ClientHeight = 650
f.CenterControl()

Box = f.CreateListView(10,10,250,300)
Box.HotTrack = true
Box.Align = o.Translate("AL_CLIENT")

Ext = new ActiveXObject("Scripting.WindowSystemObjectExtensions")
Box.LargeImages = Ext.SystemImageListLarge
Box.SmallImages = Ext.SystemImageListSmall
Box.Style = o.Translate("LV_VIEW_ICON")

var Data = ["1.txt","1.jpg","1.png","1.exe","1.bat","1.com","1.js","1.vbs","1.bmp","1.ini","1.xml"]

Group1 = Box.Groups.Add("Group 1")
Group2 = Box.Groups.Add("Group 2")

Group1.SubTitle = "The group 1 description where"
Group1.Task = "Task"
Group1.DescriptionTop = "DescriptionTop"
Group1.DescriptionBottom = "DescriptionBottom"
Group1.SubsetTitle = "SubsetTitle"
Group1.HeaderAlign = o.Translate("AL_CENTER")
Group1.FooterAlign = o.Translate("AL_CENTER")
Group1.Collapsible = true
Group1.Footer = "Group 1 Footer Text"
Group2.Footer = "Group 2 Footer Text"

for (i = 0; i<Data.length; i++)
{
        Item = Box.Add("Item "+i+": "+Data[i])
        Item.ImageIndex = Ext.GetFileSysIconIndexLarge(Data[i],o.Translate("FILE_ATTRIBUTE_ARCHIVE"))
        Item.SubItems(0) = "The first line for "+i
        Item.SubItems(1) = "The second line for (a b c d e f g h j k)"+i
        Item.Group = i % 2
}

Box.OnGroupLinkClick = OnGroupLinkClick

function OnGroupLinkClick(Sender,Group){
        f.MessageBox(Group.Header + " clicked")
}


f.Show()

o.Run()

Результат:
ListViewGroups.jpg
Начиная с:
1.1.10.

VARIANT_BOOL RW HeaderDragDrop

Позволяет пользователю менять местами колонки через Drag&Drop.

Требуется Comctl32.dll версии 4.70.

Начиная с:
1.1.9.

VARIANT_BOOL RW HideSelection

Свойство определяет что компонент скрывает выделение при потере фокуса ввода.

Значение по умолчанию: "TRUE".

VARIANT_BOOL RW HotTrack

Свойство определяет смену цвета текста элементов при наведении на них указателя мышки, аналогично гиперссылкам.

Значение по умолчанию: "FALSE".

LONG RW IconSpacingHeight

Позволяет задать размер элемента по вертикали в режиме Style = LVS_ICON.

Начиная с:
1.1.10.

LONG RW IconSpacingWidth

Позволяет задать размер элемента по горизонтали в режиме Style = LVS_ICON.

Начиная с:
1.1.10.

VARIANT_BOOL RW InfoTip

Позволяет отображать подсказки Hint для элементов.

Начиная с:
1.1.10.

VARIANT R Item[[in] long Index] (  ) 

Свойство позволяет обратиться к элементам коллекции.

Аргументы:
Index индекс элемента

LONG RW ItemIndex

Свойство определяет индекс сфокусированного элемента.

IDispatch* RW LargeImages

Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для элементов, если значение свойства Style - LVS_ICON.

Для элементов можно задавать индекс в этом списке через свойство ImageIndex.

Заметки:
можно задать существующий объект, так и просто обратиться к свойству для чтения, при этом объект создается автоматически если требуется.

VARIANT_BOOL RW MultiSelect

Свойство определяет возможность выбора нескольких элементов.

Значение по умолчанию: "TRUE".

VARIANT W OnBeginEdit

Свойство позволяет задать обработчик события OnBeginEdit через 2-й уровень.

См. также:
ListViewEvents::OnBeginEdit.
Начиная с:
1.1.10.

VARIANT W OnBeginSubItemEdit

Свойство позволяет задать обработчик события OnBeginSubItemEdit через 2-й уровень.

См. также:
ListViewEvents::OnBeginSubItemEdit.
Начиная с:
1.1.14

VARIANT W OnColumnClick

Свойство позволяет задать обработчик события OnColumnClick через 2-й уровень.

См. также:
ListViewEvents::OnColumnClick.

VARIANT W OnColumnResize

Свойство позволяет задать обработчик события OnColumnResize через 2-й уровень.

См. также:
ListViewEvents::OnColumnResize.

VARIANT W OnData

Свойство позволяет задать обработчик события OnData через 2-й уровень.

См. также:
ListViewEvents::OnData.

VARIANT W OnDrawItem

Свойство позволяет задать обработчик события OnDrawItem через 2-й уровень.

См. также:
ListViewEvents::OnDrawItem.
Начиная с:
1.1.12.

VARIANT W OnEdited

Свойство позволяет задать обработчик события OnEdited через 2-й уровень.

См. также:
ListViewEvents::OnEdited.

VARIANT W OnGroupLinkClick

Свойство позволяет задать обработчик события OnGroupLinkClick через 2-й уровень.

См. также:
ListViewEvents::OnGroupLinkClick.
Начиная с:
1.1.10.

VARIANT W OnItemCheck

Свойство позволяет задать обработчик события OnItemCheck через 2-й уровень.

См. также:
ListViewEvents::OnItemCheck.

VARIANT W OnSubItemEdited

Свойство позволяет задать обработчик события OnSubItemEdited через 2-й уровень.

См. также:
ListViewEvents::OnSubItemEdited.
Начиная с:
1.1.14

VARIANT_BOOL RW OwnerData

Свойство определяет нахождение компонента в виртуальном режиме.

Если значение этого свойства - "TRUE" то компонент не хранит данные об элементах: текст и индексы изображений. Количество элементов устанавливается через свойство Count. Когда компоненту требуется информация об элементе для его отображения он вызывает обработчик события OnData для получения информации об элементе.

Значение по умолчанию: "FALSE".

OwnerData = "TRUE" не поддерживается, если определены WorkAreas или Groups (Ограничение Windows).

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 300
f.ClientHeight = 150
f.CenterControl()

ListView = f.CreateListView(10,10,280,130,o.Translate("LVS_REPORT | LVS_OWNERDATA"))

ListView.Columns.Add("Column 1",150)
ListView.Columns.Add("Column 2",200)

ListView.OnData = OnData
ListView.Count = 1000

function OnData(Sender,Item)
{
        var i = Item.Index
        Item.Text = "Item "+i
        Item.SubItems(0) = "SubItem 1 of "+i
}

f.Show()

o.Run()

Результат:
ListViewReportOwnerData.jpg

VARIANT_BOOL RW QuickEdit

Данное свойство используется только если ReadOnlySubItems = "FALSE", т.

е. значения в дополнительных колонках могут редактироваться.

Если "FALSE" то элемент должен быть выделенным перед редактированием. Если "TRUE" то редактирование данных в дополнительной колонке начинается сразу после нажатия левой кнопки мышки на значении в колонке.

Default value: "TRUE".

Начиная с:
1.1.14.
См. также:
OnSubItemEdited.

OnBeginSubItemEdit.

VARIANT_BOOL RW ReadOnly

Свойство запрещает редактирование текста элементов пользователем или при вызове метода EditItem.

Значение по умолчанию: "TRUE".

VARIANT_BOOL RW ReadOnlySubItems

Если свойство имеет значение "FALSE", то значения в дополнительных колонках могут редактироваться.

Дополнительные колонки отображаются только если Style = LVS_REPORT.

Значение по умолчанию: "TRUE".

Начиная с:
1.1.14.
См. также:
OnSubItemEdited.

OnBeginSubItemEdit.

VARIANT_BOOL RW RowSelect

Свойство определяет выделения строки элемента целиком, если свойство Style имеет значение LVS_REPORT.

Значение по умолчанию: "FALSE".

LONG R SelCount

Свойство определяет количество выделенных элементов.

IDispatch* RW SmallImages

Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для элементов, если значение свойства Style не LVS_ICON.

Для элементов можно задавать индекс в этом списке через свойство ImageIndex.

Заметки:
можно задать существующий объект, так и просто обратиться к свойству для чтения, при этом объект создается автоматически если требуется.

IDispatch* RW StateImages

Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для состояния элементов.

Заметки:
можно задать существующий объект, так и просто обратиться к свойству для чтения, при этом объект создается автоматически если требуется.

LONG RW Style

Свойство определяет стиль компонента и может принимать следующие значения:.

Значение по умолчанию: LVS_ICON.

LVS_REPORT

В режиме LVS_REPORT компонент отображается в виде таблицы:

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 300
f.ClientHeight = 150
f.CenterControl()

ListView = f.CreateListView(10,10,280,130,o.Translate("LVS_REPORT"))

ListView.Columns.Add("Column 1",150)
ListView.Columns.Add("Column 2",200)

for (i = 1; i<25; i++)
{
        var Item = ListView.Add("Item "+i)
        Item.SubItems(0) = "SubItem 1 of "+i
}

f.Show()

o.Run()

Результат:
ListViewReport.jpg

LV_VIEW_TILE

Режим LV_VIEW_TILE требуется Comctl32.dll версии 6 и активации тем (Themes). В этом режиме данные для дополнительных строк задаются как в режиме LVS_REPORT через свойство SubItems. TileLines определяет число отображаемых дополнительных строк. Требуется добавить по крайней мере одну колонку (Columns) для отображения дополнительных строк. Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")
o.EnableVisualStyles = true

fs = new ActiveXObject("Scripting.FileSystemObject")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 550
f.ClientHeight = 650
f.CenterControl()

Box = f.CreateListView(10,10,250,300)
Box.HotTrack = true
Box.Align = o.Translate("AL_CLIENT")

Ext = new ActiveXObject("Scripting.WindowSystemObjectExtensions")
Box.LargeImages = Ext.SystemImageListLarge
Box.SmallImages = Ext.SystemImageListSmall
Box.Style = o.Translate("LV_VIEW_TILE")

Box.TileLines = 2

//We need to add some column for tile view
Box.Columns.Add("Column 1")
Box.Columns.Add("Column 2")

var Data = ["1.txt","1.jpg","1.png","1.doc","1.gif","1.xls","1.exe","1.bat"]

for (i = 0; i<Data.length; i++)
{
        Item = Box.Add(Data[i])
        Item.ImageIndex = Ext.GetFileSysIconIndexLarge(Data[i],o.Translate("FILE_ATTRIBUTE_ARCHIVE"))
        Item.SubItems(0) = "The first line for "+i
        Item.SubItems(1) = "The second line for (a b c d e f g h j k)"+i
}

f.Show()

o.Run()


Результат:
ListViewTile.jpg

ULONG RW TextBkColor

Свойство определяет цвет фона у текста элементов.

ULONG RW TileHeight

Определяет высоту элемента, когда Style = LV_VIEW_TILE.

Начиная с:
1.1.10.

ULONG RW TileLines

Определяет число дополнительных строк, отображаемых для элемента, когда Style = LV_VIEW_TILE.

Начиная с:
1.1.10.

ULONG RW TileWidth

Определяет длину элемента, когда Style = LV_VIEW_TILE.

Начиная с:
1.1.10.

VARIANT_BOOL RW TransparentBackground

Если "TRUE", то контрол прозрачный, т.

е. фон не отрисовывается. Требуется Comctl32.dll версии 6. Требуется активация тем (Themes).

Начиная с:
1.1.10.

IDispatch* R WorkAreas

Позволяет определить рабочие области (Work Area) для ListView.

Метод возвращает объект WorkAreas. OwnerData = "TRUE" не поддерживается, если определены WorkAreas или Groups (Ограничение Windows). Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

fs = new ActiveXObject("Scripting.FileSystemObject")

f = o.CreateForm(0,0,0,0)

f.ClientWidth = 450
f.ClientHeight = 550
f.CenterControl()
f.Text = "ListView Work Areas Demo"

f.BorderWidth = 10
f.MinWidth = 500
f.MinHeight = 350

Box = f.CreateListView(10,10,250,300)
Box.HotTrack = true
Box.Align = o.Translate("AL_CLIENT")

Ext = new ActiveXObject("Scripting.WindowSystemObjectExtensions")
Box.LargeImages = Ext.SystemImageListLarge

Box.WorkAreas.Add(10,10,180,180)
Box.WorkAreas.Add(200,200,200,200)

for (i = 0; i<10; i++)
{
        Item = Box.Add("Item "+i)
        Item.ImageIndex = Ext.GetFileSysIconIndexLarge("1.txt",o.Translate("FILE_ATTRIBUTE_ARCHIVE"))
        if ((i % 2) == 0)
        {
                Item.SetPosition(210,210)
        }
}
Box.Arrange()

f.Show()

o.Run()
Результат:
ListViewWorkAreas.jpg
Начиная с:
1.1.10.

VARIANT_BOOL RW WrapText

Свойство позволяет переносить слова при отображении текста элементов.

Значение по умолчанию: "TRUE".


Документация по WSO 1.1. Последние изменения:Wed Aug 12 18:11:00 2015. (C) Веретенников А. Б. 2004-2015