IGxImageList.LoadFromFile

Синтаксис

LoadFromFile(Value: String; [Transparent: IGxColor = Null]);

Параметры

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

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

Описание

Метод LoadFromFile осуществляет загрузку изображения в коллекцию из файла, путь и наименование которого, передаются посредством параметра Value.

Пример Fore

Для выполнения примера в файловой системе должны быть две пиктограммы: «C:\Icon_small.bmp» и «C:\Icon_large.bmp». В модуле подключите системные сборки: Metabase, Drawing, Fore, Io (Fore.IO для примера Fore.NET).

Sub UserProc;
Var
    Mb: IMetabase;
    Object: IMetabaseObject;
    CustomClassExtender: IMetabaseCustomExtender;
    CustClasses: IMetabaseCustomClasses;
    CustomClass: IMetabaseCustomClass;
    Description: IMetabaseObjectDescriptor;
    ImgList: IGxImageList;
    ImgList32: IGxImageList;
Begin
    Mb := MetabaseClass.Active;
    // Определение контейнера пользовательских классов
    Description := Mb.SpecialObject(MetabaseSpecialObject.CustomExtender);
    Object := Description.Edit;
    CustomClassExtender := Object As IMetabaseCustomExtender;
    // Создание коллекций изображений
    ImgList := New GxImageList.Create;
    ImgList.Height := 16;
    ImgList.LoadFromFile("C:\Icon_small.bmp", GxColor.FromKnownColor(GxKnownColor.White));
    CustomClassExtender.SmallImages := ImgList;
    ImgList32 := New GxImageList.Create;
    ImgList32.Height := 32;
    ImgList32.LoadFromFile("C:\Icon_large.bmp", GxColor.FromKnownColor(GxKnownColor.White));
    CustomClassExtender.LargeImages := ImgList32;
    CustomClassExtender.IsShared := True;
    // Добавление пользовательского класса в контейнер
    CustClasses := CustomClassExtender.Classes;
    CustomClass := CustClasses.Add;
    CustomClass.Name := "My class";
    CustomClass.Description := "Собственный класс";
    CustomClass.ImageIndex := 0;
    Object.Save;
End Sub UserProc;

После выполнения примера будет создан контейнер пользовательских классов, содержащий один класс с наименованием «My class». Источником большой пиктограммы для объекта будет файл «C:\Icon_large.bmp», маленькой - «C:\Icon_small.bmp».

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Fore;
Imports Prognoz.Platform.Interop.ForeIO;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    Object: IMetabaseObject;
    CustomClassExtender: IMetabaseCustomExtender;
    CustClasses: IMetabaseCustomClasses;
    CustomClass: IMetabaseCustomClass;
    Description: IMetabaseObjectDescriptor;
    ImgList: GxImageList;
    ImgList32: GxImageList;
    Color: GxColorClass = New GxColorClassClass();
Begin
    Mb := Params.Metabase;
    // Определение контейнера пользовательских классов
    Description := Mb.SpecialObject[MetabaseSpecialObject.msoCustomExtender];
    Object := Description.Edit();
    CustomClassExtender := Object As IMetabaseCustomExtender;
    // Создание коллекций изображений
    ImgList := New GxImageList.Create();
    ImgList.Height := 16;
    ImgList.LoadFromFile("C:\Icon_small.bmp", Color.FromKnownColor(GxKnownColor.clWhite));
    CustomClassExtender.SmallImages := ImgList;
    ImgList32 := New GxImageList.Create();
    ImgList32.Height := 32;
    ImgList32.LoadFromFile("C:\Icon_large.bmp", Color.FromKnownColor(GxKnownColor.clWhite));
    CustomClassExtender.LargeImages := ImgList32;
    CustomClassExtender.IsShared := True;
    // Добавление пользовательского класса в контейнер
    CustClasses := CustomClassExtender.Classes;
    CustomClass := CustClasses.Add();
    CustomClass.Name := "My class";
    CustomClass.Description := "Собственный класс";
    CustomClass.ImageIndex := 0;
    Object.Save();
End Sub;

См. также:

IGxImageList