ArcEngine中使用上下左右键移动地图
2013-04-11 15:30
381 查看
因项目需要,需对mapcontrol控件响应上下左右键,从网上找的方法都一样,都值提到了需要设置axMapControl1的KeyIntercept属性为1,但这样做的结果是,除了自己在onkeydown中设置的平移1/10个屏幕大小外,系统还会有一个默认的平移操作。经研究发现,设置axMapControl1的autokeyboardscrolling属性为false即可屏蔽系统默认的对上下左右键的相应方法。
axMapControl1.AutoKeyBoardScrolling=false; 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; }
相关文章推荐
- ArcEngine中使用上下左右键移动地图
- ArcEngine中使用上下左右键移动地图
- ArcEngine中使用上下左右键移动地图功能的实现
- ArcEngine中使用上下左右键移动地图
- silverlight中 Storyboard(动画)的使用,实现球的上下循环移动,左右移动,及旋转功能
- 使用javascript操作多选列表框,实现动态增加删除,左右移动,上下排序移动等功能。
- 使用jquery实现上下左右移动效果
- TiledMapEditor创建地图,精灵在地图上下左右移动,尚未实现碰撞检测功能
- Isometric Game Programming 笔记(二)按键控制地图上下左右方向移动
- js实现小方块上下左右移动
- js实现方块上下左右移动效果
- <Unity3D>上下左右 键控制人移动
- js实现键盘的上下左右控制图片移动
- ubuntu vi不能正常使用上下左右方向键
- JavaScript代码实现左右上下自动晃动自动移动
- Android 仿QQ菜单背景图片的左右上下移动属性动画实现
- visio 2003 无法使用键盘的上下移动选中的对象
- [C/C++]使用上下左右控制菜单项
- 如何使用ps将同一个文字的颜色分为上下或者左右两种甚至多种、、
- select下拉框的上下左右移动,多行排序等,很好的代码。大家有用就看看吧。