ArcEngine中使用上下左右键移动地图

axMapControl1.KeyIntercept = 1;

private void axMapControl1_OnKeyDown(object sender, ESRI.ArcGIS.MapControl.IMapControlEvents2_OnKeyDownEvent e)
        {
            switch (e.keyCode)
            {
                case (int)System.Windows.Forms.Keys.Up:
                    PanMap(0d, 0.5d);
                    break;
                case (int)System.Windows.Forms.Keys.Down:
                    PanMap(0d, -0.5d);
                    break;
                case (int)System.Windows.Forms.Keys.Left:
                    PanMap(-0.5d, 0d);
                    break;
                case (int)System.Windows.Forms.Keys.Right:
                    PanMap(0.5d, 0d);
                    break;
            }
        }

        private void PanMap(double ratioX, double ratioY)
        {
            //Pans map by amount specified given in a fraction of the extent e.g. rationX=0.5, pan right by half a screen
            IEnvelope envelope = axMapControl1.Extent;
            double h = envelope.Width;
            double w = envelope.Height;
            envelope.Offset(h * ratioX, w * ratioY);
            axMapControl1.Extent = envelope;
        } 


版权说明

  如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

posted @ 2009-02-10 09:20 温景良(Jason) Views(784) Comments(0) Edit 收藏
 

公告

本文转自我的程序人生博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2009/02/10/1387196.html,如需转载请自行联系原作者
 
 
 
上一篇:10个基于 JavaScript 的 WYSIWYG 编辑器


下一篇:C++实现判断输入的数组是否是升序的程序