var
pPageLayout: IPageLayout;
pMap : IMap;
pActiveMap: IActiveView;
pGraphicContainer: IGraphicsContainer;
pMapFrame: IMapFrame;
pLegend : ILegend;
pLegendItem: ILegendItem;
pMapSurround: IMapSurround;
pMapSurroundFrame: IMapSurroundFrame;
pUID : UID;
pEnvelope: IEnvelope;
begin
pUID := CoUID.Create as UID;
pUID.Value := 'esriCarto.Legend';
pPageLayout := aePageLayoutControl.PageLayout;
pActiveMap := pPageLayout as IActiveView;
pEnvelope := aePageLayoutControl.TrackRectangle;
if (pEnvelope.IsEmpty) or (pActiveMap = nil) then
Exit(False);
pMapSurround := CreateSurround(pUID, pEnvelope, '图例', pPageLayout);//这个函数并非ae自带,是自己写的。请参考
// Delphi版 ArcEngine 创建MapSurround对象
if pMapSurround = nil then
Exit(False);
pLegend := pMapSurround as ILegend;
if pLegend.ItemCount = 0 then
Exit(False);
pLegend.Title := sTitle;
pLegend.Item[1].ShowDescriptions := True;
pLegend.Item[1].ShowLabels := False;
pLegend.Refresh;
Result := True;
end;