扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:姜玥 来源:YESKY 2007年11月10日
关键字:
OBJECT.CreateEllipticalRegion(Rectangle,[Angle] , [Resolution] , [Style] ) OBJECT:FeatureFactory对象; Rectangle(矩形):Rectangle对象,确定了椭圆的大小; Angle(角度):变量,决定椭圆绕中心点旋转的角度; Resolution(精度) :变量, 椭圆的精度,由多少点构成; Style(样式): 变量,定义了所画椭圆的样式,如颜色,线型等。 实际编码: Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton And (Map1.CurrentTool = miAddEllipseTool) Then Map1.NumericCoordSys.Set miLongLat, 0 '将屏幕坐标转变为经纬度坐标 Map1.ConvertCoord X, Y, RectX1, RectY1, miScreenToMap End if End Sub Private Sub Map1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton And (Map1.CurrentTool = miAddEllipseTool) Then '将地图的坐标系统设为经/纬度坐标 Map1.NumericCoordSys.Set miLongLat, 0 '将屏幕坐标转变为经纬度坐标 Map1.ConvertCoord X, Y, RectX2, RectY2, miScreenToMap '鼠标弹起时,画椭圆 Call AddEllipse(form1,RectX1,RectY1,RectX2,RectY2) Endif End sub '画椭圆过程 Public Sub AddEllipse(frm As Form, x1 As Double, _ y1 As Double,x2 As Double,y2 As Double, EditLayer As Variant) Dim RECT As New MapXLib.Rectangle '画椭圆的矩形框 Dim CreatedEllipse As Feature '所画的椭圆 Dim I as integer,EditLayer as integer '设置画椭圆的矩形框 RECT.Set x1, y1, x2, y2 With frm.Map1 '创建椭圆 Set CreatedEllipse = .FeatureFactory. _ CreateEllipticalRegion(RECT, , 500, .DefaultStyle) '确定哪一层是可编辑层,椭圆只能画在可编辑层上 For I=1 to .map1.layers.count If .map1.layers(I).editable=true then Editlayer=I Exit for Endif Next I '将椭圆添加到所画的图层上 .Layers.Item(EditLayer).AddFeature CreatedEllipse End With End Sub |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者