Отображение пользовательских экспандеров

По умолчанию в таблице отображаются стандартные экспандеры:

Настройка отображения пользовательских экспандеров осуществляется в среде разработки на языке программирования Fore с помощью свойств ITabSheet.ExpanderOnPicture и ITabSheet.ExpanderOffPicture.

Для отображения пользовательских экспандеров:

  1. Выберите способ хранения пиктограмм:

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

Sub UserProc;
Var
    MB: IMetabase;
    Rep: IPrxReport;
    SheetT: IPrxTable;
    Tab: ITabSheet;
    TImg: ITabImages;
    ExpOn, ExpOff: Integer;
    Res: IResourceObject;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим регламентный отчёт
    Rep := MB.ItemById("REP_ID").Edit As IPrxReport;
    // Получим таблицу с листа отчёта
    SheetT := Rep.ActiveSheet As IPrxTable;
    Tab := SheetT.TabSheet;
    // Получим изображение пользовательских экспандеров из ресурсов
    Res := MetabaseClass.Active.ItemById("RES_ID").Bind As IResourceObject;
    TImg := Tab.Images;
    // Выполним очистку коллекции изображений
    TImg.RemoveAll(True);
    // Получим изображение для развернутого экспандера из ресурса
    ExpOn := TImg.Add(GxImage.FromStream(Res.Binaries.Value("ID_EXPOn")));
    // Получим изображение для свернутого экспандера из ресурса
    ExpOff := TImg.Add(GxImage.FromStream(Res.Binaries.Value("ID_EXPOff")));
    // Зададим пользовательские экспандеры
    Tab.ExpanderOnPicture := ExpOn;
    Tab.ExpanderOffPicture := ExpOff;
    (Rep As IMetabaseObject).Save;
End Sub UserProc;

Sub UserProc;
Var
    MB: IMetabase;
    Rep: IPrxReport;
    SheetT: IPrxTable;
    Tab: ITabSheet;
    TImg: ITabImages;
    ExpOn, ExpOff: Integer;
    Res: IResourceObject;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим регламентный отчёт
    Rep := MB.ItemById("REP_ID").Edit As IPrxReport;
    // Получим таблицу с листа отчёта
    SheetT := Rep.ActiveSheet As IPrxTable;
    Tab := SheetT.TabSheet;
    // Получим коллекцию изображений табличной области
    TImg := Tab.Images;
    // Выполним очистку коллекции изображений
    TImg.RemoveAll(True);
    // Получим изображение для развернутого экспандера из файловой системы
    ExpOn := TImg.Add(GxImage.FromFile("С:\On.png"));
    // Получим изображение для свернутого экспандера из файловой системы
    ExpOff := TImg.Add(GxImage.FromFile("C:\Off.png"));
    // Зададим пользовательские экспандеры
    Tab.ExpanderOnPicture := ExpOn;
    Tab.ExpanderOffPicture := ExpOff;
    (Rep As IMetabaseObject).Save;
End Sub UserProc;

После выполнения действий будут отображаться пользовательские экспандеры:

См. также:

Размещение элементов измерения