LabelHorizontalAlignment: MapLayerLabelHorizontalAlignment;
LabelHorizontalAlignment: Prognoz.Platform.Interop.Map.MapLayerLabelHorizontalAlignment;
Свойство LabelHorizontalAlignment определяет положение подписи слоя карты по горизонтали относительно позиции, заданной в топооснове.
Для определения положения подписи слоя карты по вертикали относительно позиции из топоосновы используйте IMapLayer.LabelVerticalAlignment.
Для выполнения примера в репозитории предполагается наличие формы, содержащей следующие компоненты:
ReportBox с идентификатором «ReportBox1»;
UiReport с идентификатором «UiReport1». «UiReport1» будет являться источником данных для «ReportBox1».
Также для выполнения примера в репозитории необходимо наличие регламентного отчета с картой, на которой будут отображаться подписи слоя. Данная карта будет являться источником данных для «UiReport1».
Sub UserProc;
Var
regrep: IPrxReport;
sheet: IPrxSheet;
table: IPrxTable;
objects: ITabObjects;
map: IMap;
layer: IMapLayers;
label: IMapLayer;
Begin
// Получаем регламентный отчет
regrep := UiReport1.Report;
// Получаем карту из регламентного отчета
sheet := regrep.Activesheet;
table := sheet As IPrxTable;
objects := table.TabSheet.Objects;
map := objects.Item(0).Extension As IMap;
// Получаем коллекцию слоев карты
layer := map.Layers;
// Получаем слой
label := layer.FindByName("Regions");
// Изменяем положение
подписи по вертикали
label.LabelVerticalAlignment := MapLayerLabelVerticalAlignment.Bottom;
// Изменяем положение подписи
по горизонтали
label.LabelHorizontalAlignment := MapLayerLabelHorizontalAlignment.Right;
// Обновляем карту
map.Refresh;
End Sub UserProc;
После выполнения примера подписи слоя «Regions» будут отображаться ниже и правее относительно позиции из топоосновы.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Public Sub UserProc();
Var
regrep: IPrxReport;
sheet: IPrxSheet;
table: IPrxTable;
objects: ITabObjects;
map: IMap;
layer: IMapLayers;
label: IMapLayer;
Begin
// Получаем регламентный отчет
regrep := uiReportNet1.ReportUi.Report;
// Получаем карту из регламентного отчета
sheet := regrep.Activesheet;
table := sheet As IPrxTable;
objects := table.TabSheet.Objects;
map := objects.Item[0].Extension As IMap;
// Получаем коллекцию слоев карты
layer := map.Layers;
// Получаем слой
label := layer.FindByName["Regions"];
// Изменяем положение
подписи по вертикали
label.LabelVerticalAlignment := MapLayerLabelVerticalAlignment.mllvaBottom;
// Изменяем положение подписи
по горизонтали
label.LabelHorizontalAlignment := MapLayerLabelHorizontalAlignment.mllhaRight;
map.Refresh();
End Sub UserProc;
См. также: