(七) 给PageLayoutControl添加弹出式菜单

与给跟绑定控件协作的ToolbarControl增加ArcGIS Engine命令一样,按照前面的步骤,你也可以从ArcGIS Engine命令创建弹出式菜单。下面将向你的应用程序中增加与PageLayoutControl协作的弹出式菜单。当在PageLayoutControl可视区域点击鼠标右键的时候,弹出式菜单将显示。
1.向类中添加如下的成员变量(红色部分):       
  public class Form1 : System.Windows.Forms.Form
 {
      private ESRI.ArcGIS.MapControl.AxMapControl axMapControl1;
      private ESRI.ArcGIS.PageLayoutControl.AxPageLayoutControl axPageLayoutControl1;
      private ESRI.ArcGIS.TOCControl.AxTOCControl axTOCControl1;
      private ESRI.ArcGIS.ToolbarControl.AxToolbarControl axToolbarControl1;
 
   private IToolbarMenu m_ToolbarMenu = new ToolbarMenuClass(); // 弹出式菜单
// ……
2.Form_Load事件中向ToolbarControl增加命令代码的后面加载文档代码的前面增加如下代码。       
     private void Form1_Load( object sender, System.EventArgs e)
     {
         // 前面是增加地图导航的代码……
        
// 共享ToolbarControl的命令池
         m_ToolbarMenu.CommandPool = axToolbarControl1.CommandPool;
 
         // 向ToolbarMenu增加命令
         progID = "esriControlToolsPageLayout.ControlsPageZoomInFixedCommand";
         m_ToolbarMenu.AddItem(progID, -1, -1, false ,
             esriCommandStyles.esriCommandStyleIconAndText);
 
         progID = "esriControlToolsPageLayout.ControlsPageZoomOutFixedCommand";
         m_ToolbarMenu.AddItem(progID, -1, -1, false ,
             esriCommandStyles.esriCommandStyleIconAndText);
 
         progID = "esriControlToolsPageLayout.ControlsPageZoomWholePageCommand";
         m_ToolbarMenu.AddItem(progID, -1, -1, false ,
             esriCommandStyles.esriCommandStyleIconAndText);
 
         progID = "esriControlToolsPageLayout.ControlsPageZoomPageToLastExtentBackCommand";
         m_ToolbarMenu.AddItem(progID, -1, -1, true ,
             esriCommandStyles.esriCommandStyleIconAndText);
 
         progID = "esriControlToolsPageLayout.ControlsPageZoomPageToLastExtentForwardCommand";
         m_ToolbarMenu.AddItem(progID, -1, -1, false ,
             esriCommandStyles.esriCommandStyleIconAndText);
 
         // 设置与PageLayoutControl挂接
       m_ToolbarMenu.SetHook(axPageLayoutControl1);
      
            // 后面是加载图形文档的代码……
            // ……
3.在设计模式显示窗体并从属性窗口中选择axPageLayoutControl1,显示axPageLayoutControl事件。双击OnMouseDown事件,向代码窗口中增加事件处理代码。       
4.axPageLayoutControl1_OnMouseDown事件中增加如下代码:       
     private void axPageLayoutControl1_OnMouseDown( object sender, ESRI.ArcGIS.PageLayoutControl.IPageLayoutControlEvents_OnMouseDownEvent e)
     {
         // 弹出ToolbarMenu
         if ( e.button == 2)
         {
             m_ToolbarMenu.PopupMenu(e.x, e.y, axPageLayoutControl1.hWnd);
         }
}
5.      生成并运行应用程序。在PageLayoutControl的显示区域单击右键以显示弹出菜单,并为页面布局导航
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值