IGxImageList.Add

Синтаксис

Add(Image: IGxBitmap; [Transparent: IGxColor = Null]);

Параметры

Image. Изображение, которое необходимо добавить в коллекцию.

Transparent. Необязательный параметр, определяющий цвет, который будет использоваться как прозрачный.

Описание

Метод Add добавляет изображение, передаваемое посредством параметра Image, в коллекцию изображений.

Пример Fore

Для выполнения примера предполагается наличие формы, где расположены: кнопка с наименованием «Button1», невизуальный компонент ImageList с наименованием «ImageList1», компонент TreeList с наименнованием «TreeList1». Добавьте в компонент ImageList изображения, а у компонента TreeList установите в свойствах StateImages и Images связь с источником коллекции изображений «ImageList1». Создайте пять элементов в компоненте TreeList и назначьте им пиктограммы из коллекции изображений. Так же в файловой системе должно быть изображение: «C:\1.bmp». В коллекции и в изображении должно находиться минимум пять пиктограмм. Подключите системные сборки: Drawing, Forms, Io.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    ImgList: IGxImageList;
    Str: IIOStream;
    Color: IGxColor;
Begin
    Color := GxColor.FromKnownColor(GxKnownColor.White);
    // Создадим коллекцию изображений и добавим пиктограммы из файла
    ImgList := New GxImageList.Create;
    ImgList.Add(New GxBitmap.CreateFromFile("C:\1.bmp"), Color);
    // Через поток заменим пиктограммы в компоненте с коллекцией изображений
    Str := New MemoryStream.Create;
    ImgList.SaveToStream(Str, Color);
    ImageList1.LoadFromStream(Str, Color);
End Sub Button1OnClick;

После выполнения примера, при нажатии на кнопку, в компоненте TreeList добавленные пиктограммы заменятся пиктограммами из заданного файла «C:\1.bmp».

Пример Fore.NET

Для выполнения примера предполагается наличие формы, где расположены: две кнопки с наименованиями «Button1» и «Button2», невизуальный компонент ImageListNet с наименованием «imageListNet1», компонент TreeListNet с наименнованием «treeListNet1». В компоненте TreeListNet установите свойство Images для связи с источником коллекции изображений «imageListNet1», и добавьте пять элементов в свойство Nodes. В файловой системе должны быть изображения: «C:\1.bmp», «C:\2.bmp», «C:\3.bmp», «C:\4.bmp», «C:\5.bmp», «C:\6.bmp». В изображении «C:\6.bmp» должно находиться минимум пять пиктограмм. Подключите .NET сборку System.IO и системные сборки: Drawing, Forms, Forms.NET, Metabase.

Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Forms;
Imports Prognoz.Platform.Interop.Metabase;
Imports System.IO;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
    ImgList: IGxImageList;
    Str: Stream;
    Color: GxColor;
    BM: GXBitmap;
    il: IImageList;
    I: ITreeListNode;
Begin
    Color := New GxColorClassClass().FromName("White");
    Str := New MemoryStream.Create();
    BM := New GxBitmap();
    ImgList := New GxImageList.Create();
    // Добавляем пиктограммы в коллекцию изображений
    ImgList.LoadFromFile("C:\1.bmp", Color);
    BM.CreateFromFile("C:\2.bmp");
    ImgList.Add(BM, Color);
    BM.CreateFromFile("C:\3.bmp");
    ImgList.Add(BM, Color);
    BM.CreateFromFile("C:\4.bmp");
    ImgList.Add(BM, Color);
    BM.CreateFromFile("C:\5.bmp");
    ImgList.Add(BM, Color);
    // Через поток передаем пиктограммы в компонент ImageListNet
    ImgList.SaveToStream(str, Color);
    il := (ImageListNet1.Component As IImageList);
    il.LoadFromStream(str, Color);
    // Добавляем элементам компонента TreeListNet пиктограммы из ImageListNet
    TreeListNet1.CtrlBox.Images := imageListNet1.Component As Prognoz.Platform.Interop.Forms.ImageList;
    For Each I In TreeListNet1.ForeNodes Do
        I.ImageIndex := I.Index;
    End For;
End Sub;

Private Sub button2_Click(sender: System.Object; e: System.EventArgs);
Var
    ImgList: IGxImageList;
    Str: Stream;
    Color: GxColor;
    BM: GXBitmap;
    il: IImageList;
Begin
    Color := New GxColorClassClass().FromName("White");
    // Создаем новую коллекцию изображений и добавляем пиктограммы из файла
    ImgList := New GxImageList.Create();
    BM := New GxBitmap();
    BM.CreateFromFile("C:\6.bmp");
    ImgList.Add(BM, Color);
    // Через поток заменяем пиктограммы в компоненте с коллекцией изображений
    Str := New MemoryStream.Create();
    ImgList.SaveToStream(Str, Color);
    il := (imageListNet1.Component As IImageList);
    il.LoadFromStream(str, Color);
    TreeListNet1.CtrlBox.Images := imageListNet1.Component As Prognoz.Platform.Interop.Forms.ImageList;
End Sub;

После выполнения примера, при нажатии на первую кнопку, в компоненте TreeList у элементов отобразятся заданные пиктограммы:

При нажатии на вторую кнопку произойдет замена на пиктограммы из файла «C:\6.bmp»:

См. также:

IGxImageList