Add(Image: IGxBitmap; [Transparent: IGxColor = Null]);
Image. Изображение, которое необходимо добавить в коллекцию.
Transparent. Необязательный параметр, определяющий цвет, который будет использоваться как прозрачный.
Метод Add добавляет изображение, передаваемое посредством параметра Image, в коллекцию изображений.
Для выполнения примера предполагается наличие формы, где расположены: кнопка с наименованием «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».
Для выполнения примера предполагается наличие формы, где расположены: две кнопки с наименованиями «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»:
См. также: