您的位置:首页 > 其它

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

2007-05-24 13:25 337 查看
//Allow the MapControl to intercept arrowkeys when it has focus
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;
}

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1217767
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: