Delphi ArcEngine 创建图例

function InsertLegend(aePageLayoutControl: TPageLayoutControl; sTitle: string): Boolean;
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;

转载于:https://www.cnblogs.com/chinacodegear/archive/2009/03/19/1416422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值