LabelHorizontalAlignment: MapLayerLabelHorizontalAlignment;
LabelHorizontalAlignment: Prognoz.Platform.Interop.Map.MapLayerLabelHorizontalAlignment;
The LabelHorizontalAlignment property determines horizontal position of map layer label relative to the position set in the topobase.
To determine vertical position of map layer label relative to the position set in the topobase, use IMapLayer.LabelVerticalAlignment.
Executing the example requires that the repository contains a form with the components:
ReportBox with the ReportBox1 identifier.
UiReport with the UiReport1 identifier. UiReport1 will be a data source for ReportBox1.
It is also required to have a regular report with a map with displayed layer labels in the repository. This map will be a data source for UiReport1.
Sub UserProc;
Var
regrep: IPrxReport;
sheet: IPrxSheet;
table: IPrxTable;
objects: ITabObjects;
map: IMap;
layer: IMapLayers;
label: IMapLayer;
Begin
// Get regular report
regrep := UiReport1.Report;
// Get map from regular report
sheet := regrep.Activesheet;
table := sheet As IPrxTable;
objects := table.TabSheet.Objects;
map := objects.Item(0).Extension As IMap;
// Get collection of map layers
layer := map.Layers;
// Get layer
label := layer.FindByName("Regions");
// Change vertical position of label
label.LabelVerticalAlignment := MapLayerLabelVerticalAlignment.Bottom;
// Change horizontal position of label
label.LabelHorizontalAlignment := MapLayerLabelHorizontalAlignment.Right;
// Refresh map
map.Refresh;
End Sub UserProc;
After executing the example labels of the Regions layer are displayed below and to the right relative to the position set in the topobase.
The requirements and result of the Fore.NET example execution match with those in the Fore example. Use Fore.NET analogs instead of Fore components.
Public Sub UserProc();
Var
regrep: IPrxReport;
sheet: IPrxSheet;
table: IPrxTable;
objects: ITabObjects;
map: IMap;
layer: IMapLayers;
label: IMapLayer;
Begin
// Get regular report
regrep := uiReportNet1.ReportUi.Report;
// Get map from regular report
sheet := regrep.Activesheet;
table := sheet As IPrxTable;
objects := table.TabSheet.Objects;
map := objects.Item[0].Extension As IMap;
// Get collection of map layers
layer := map.Layers;
// Get layer
label := layer.FindByName["Regions"];
// Change vertical position of label
label.LabelVerticalAlignment := MapLayerLabelVerticalAlignment.mllvaBottom;
// Change horizontal position of label
label.LabelHorizontalAlignment := MapLayerLabelHorizontalAlignment.mllhaRight;
map.Refresh();
End Sub UserProc;
See also: