中南大学GIS开发指导书.pdf

上传人:文*** 文档编号:88918102 上传时间:2023-05-04 格式:PDF 页数:81 大小:11.24MB
返回 下载 相关 举报
中南大学GIS开发指导书.pdf_第1页
第1页 / 共81页
中南大学GIS开发指导书.pdf_第2页
第2页 / 共81页
点击查看更多>>
资源描述

《中南大学GIS开发指导书.pdf》由会员分享,可在线阅读,更多相关《中南大学GIS开发指导书.pdf(81页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、GIS二次开发实验指导书(ArcGIS 9.3VBA/AO/Engine 开发教程)张宝一中南大学GIS研究中心用 扁 一宏语言式二次开发(ArcGIS 9.3/VBA)实验一创建 VBA 宏与 UIButtonControl实验目的通过ArcMap的 VBA环境下编程,初步了解ArcObjects组件库,力求能读懂、理解V BA实例程序,基本了解宏语言式GIS二次开发的基本思路和方法。实验内容1.在ArcMap地图文档中添加一个VBA宏,实现对某一图层的唯一值渲染;2.在ArcMap地图文档中添加一个UlControl按钮,打开一个“虫眼”窗口。实验学时2 学时。实验步骤设置VBA编译环境(

2、显式声明),输入代码Option Explicit内容一:写 VBA宏(直接在VBA编辑器中编辑函数和过程)1、创建宏,并启动VBA编辑器2、在地图文档中Project中编写宏(函数或过程)3、在 Macro对话框或VBA编辑器中运行VBA宏设置层 UniqueValue Renderer本例要实现的是如何在一个层中设置UniqueValue Renderer,根据属性字段填充上不同的颜色的polygon;首先实例化接口 IGeoFeatureLayer,通过类 UniqueValueRenderer 实现 lUniqueValueRender 接 口 的对象实例,通 过 对 lUniqueV

3、alueRender的 属 在 进 行 赋 值,最 后 赋 值 给IGeoFeatureLayer.Render 属性参考代码如下:Dim pMxDocument As IMxDocumentDim pMap As IMapDim ILyrCnt As LongDim ILyr As LongDim pLyr As ILayerDim pGeoFeatLyr As IGeoFeatureLayerDim pUniqueValueR As lUniqueValueRendererDim pTable As ITableDim IfieldNumber As LongDim pColorRamp

4、As IRandomColorRampDim pEnumRamp As lEnumColorsDim pNextUniqueColor As IColorDim pQ ueryFilter As IQ ueryFilterDim pCursor As ICursorDim pNextRow As IRowDim pNextRowBuffer As IRowBufferDim codeValue As StringDim pFillSymbol As IFillSymbolSet pMxDocument=ThisDocumentSet pMap=pMxDocument.FocusMapILyrC

5、nt=pMap.LayerCountFor ILyr=0 To ILyrCnt-1Set pLyr=pMap.Layer(ILyr)If pLyr.Namc=xianjie_changsha_9 ThenSet pGeoFeatLyr=pLyrExit ForEnd IfNext ILyrSet pUniqueValueR=New UniqueValueRendererSet pTable=pGeoFeatLyrA field for the shapefileConst strNameField=Name1IfieldNumber=pTable.FindField(strNameField)

6、If IfieldNumber=-1 ThenMsgBox Cant find field called&strNameFieldExit SubEnd If pUniqueValueR.FieldCounl=1,pUniqueValueR.Field(O)=strNameField,Set pColorRamp=New RandomColorRamp,pCoIorRamp.StartHue=0 pCoIorRamp.Min Value=99,pCoIorRamp.MinSaturation=15 pColorRamp.EndHue=360,pColorRamp.Max Value=100 p

7、ColorRamp.MaxSaturation=30,pColorRamp.size=100 pColorRamp.CreateRamp True Set pEnumRamp=pColorRamp.Colors Set pNextUniqueColor=Nothing Set pQ ueryFilter=New Q ueryFilter,pQ ueryFilter.AddField strNameField,Set pCursor=pTable.Search(pQ ueryFilter,True),Set pNextRow=pCursor.NextRow,Do While Not pNextR

8、ow Is Nothing,Set pNextRowBuffer=pNextRow,code Value=pNextRowBuffer.Value(lfieldNumber),Set pNextUniqueColor=pEnumRamp.Next,If pNextUniqueColor Is Nothing Then,pEnumRamp.Reset,Set pNextUniqueColor=pEnumRamp.Next End If Set pFillSymbol=New SimpleFillSymbol pFillSymbol.Color=pNextUniqueColor,pUniqueVa

9、lueR.AddValue codeValue,u,pFillSymbol Advance the cursor to the next row,or end of the dataset Set pNextRow=pCursor.NextRow Loop*Now set the layers renderer to the unique value renderer Set pGeoFeatLyr.Renderer=pUniqueValueR pMxDocument.ActiveView.Refresh,pMxDocument.UpdateContents运行效果图如下 无标St IWcMa

10、p-AtelnTo内容二:创建UlContro】(交互式VBA编程)1 Customize对话框的“Commands页,选中UlControls”后点击6 6 亚UlControb 按钮2、选择UlControl类型:UIButtonControl:创建 Button;UIToolControl:创建与 Map 交互的 Tool;UIEditBoxControl:创建 EditBox;UIComboBoxControl:仓 U 建 ComboBox。3、进入VBA编辑器在UlControl的事件中进行VBA编程4、添加一个工具条,选中UlControl并将其拖置到工具条上。ToolbarXTo

11、olbar Name:|VBA SampleslHV.OK Cancel参考代码如下:运用这个子程序生成了一个新的放大镜窗口,在本例中将放大率设定为200%,Sub CreateMagnifierWindow(),Dim pMapInset As IMapInset,Dim pMapInsetWindow As IMapInsetWindow,Dim pDataWindowFactory As IDataWindowFactory,Set pDataWindowFactory=New MapInsetWindowFactory,If pDataWindowFactory.CanCreate(A

12、pplication)Then,Set pMapInsetWindow=pDataWindowFactory.Create(Application),Set pMapInset=pMapInsetWindow.MapInset,Set the zoom percent to 2(X)%,pMapInset.ZoomPercent=200,pMapInsetWindow.Show True End If,End Sub运行效果图如下实验要求1.使用基础实习成果数据(或其他示例数据)2.完成实验要求的两个实例(最好要有自己的内容)3.将代码保存在一个地图文件M X D中,上交后方可离开实验室(如未

13、完成可在课下通过邮件提交)实验二创建 VBAUIToolControl实验目的通过ArcMap的 VBA环境下编程,初步了解ArcObjects组件库,实现GIS的基本窗口操作,了解宏语言式GIS二次开发的基本思路和方法。实验内容1.在ArcMap地图文档中添加一个UlControl工具,实现对地图的拉框和点击放大;2.在ArcMap地图文档中添加一个UlControl工具,实现对地图的鼠标移动。实验学时2 学时。实验步骤设置VBA编译环境(显式声明),输入代码Option Explicit内容一:窗口放大用户点击按钮后,可以在地图上进行点击或者拖放矩形框来放大地图因为考虑到用户可以单击放大,

14、可以拖放矩形框来放大,所以采用INewEnvelopeFeedback接口来显示拖放矩形框效果。IDiSDlavFeedbackloThe new envelopefeedback is perhaps themost usefijl and simplest of the feedbacks.It is used to allow theuser to create a newenvelope on the display,known asdragging a rectangle9 INewEnvelopeFeedback:IDisplayFeedback-AspectRatio:Doubl

15、eM l Constraint:esriEiivelopeConstraiiitsY-Start(in Point:IPoiirt)Stop:(Envelope日 IDisplayFeedback:IUnknown Display:IScreenDisplaySymbol:(Symbolv-MoveTo(in Point:IPoiirt)+Refresh(in hDC:OLE_HANDLE)日 IUnknown hidden+AddRefv-Querylnterface(in riid:GUID,out ppvObj:Any)Release接口 INewEnvelopeFeedback 有 I

16、DisplayFeedback 派生。接口 IDisplayFeedback具有如下属性和方法:Display:设置Feedback所利用的显示属性;MoveTo:当鼠号移动时,设置鼠标点所在的坐标;Refresh:刷新画面;Symbol:设置显示风格。Feedbacks对象可以划分为两类:1.大部分是通过stop方法返回一个新的儿何2.也有一些纯 粹 为 了 显示,开 发 者 来 计 算 一 个 新 的 几 何,包括MoveGeometryFeedback,MovelmageFeedback,NewMultiPointFeedback,VertexFeedbackoDisplay feedb

17、ack objectsrnCraalca a fwntMcko n th e fta/W rmgvtapctl anaBzkrctfV0 BezirMove-Point-r FeedbackZnaix i fMdZdc onm p a y lar a cakMCrartM a toedcock on the/”,ter addg naw dlnenien shapaiCTMtc*i tKdEadc 8 g d p h y fv但.a now sn/dopeCallout-FeedbackIStOCraatse a rMdbKk co ttecr a gro(tffKdMCk ejectsGro

18、up-FeedbackLineMove-Pokit-FeedbackCivtUa atMdDnck on tte deploylor 3tMr a no*Bactor curvaCreate*a teadEock animdifor a newtNtOmnionFMbedbeckDimnsfon-FeedbackEnvelcpe-FMvWurParfHtdbuK c-Ktv4ErwMcpaFMtn:i o-nC g。a iMdDadttor add ngCsHM reKk on n dtapiyKr tnoMng an fimaiop*Crvelao fMdEMdc OH 1h。甲ay for

19、nxMtga IneCroat-a iwctock on V la y ref movhj a potn cn a2ICreate*a teodt:cn tr N/ytot 川 叫 a new E/O-R 68120-0-crouoa a!MSO9M or a qeonwtiy tyMove-Envelope-FeedbackGeometty-FeedbeckNewLine-FedbackCtMte:a fw x:k co 2 wpay totm tE an huge cf cyneol&sd stemsrisor gl x,MoveLne-FedbackCroats a fMaback cn

20、 ths dtaptiy for moMng!Croats a fMlxickanlhd dtapAiy,Kr addng a new m ttfxlrt/LTMiM 1 roaltMCk 8 t!dtptoylor movhg a part h a poygonMultiPoint-FeadbackMovePoirit-FedfcckIReiMpeFMt*o-MovePoint-Feedteckreccing an envcicptVertex-Feedback图 1 显示反馈Feedbacks对象具体步骤如下:添加 UIToolControl添加模块级变量,参考代码如下:Dim m_bIs

21、MouseDown As BooleanDim m_pPoint As IPointDim m_pFeedbackEnv As INewEnvelopeFeedback修改箴标键按下事件,-1 lic r o s o ft Visual Basic-Changsha,axd-fThisDocaaent(代 码)文 件 0)编 辑 视 图 叩 独 人 Q)格 式 Q)0Q)运 行 工具a)外 餐 程 序 窗 口 量)港 助 QPKE必豹-)fr 79 Ml i 雄d rB al()就 P roject(Ckaasska-对象国 ThiiDanat-T横成避 模 出班快2C j 引用ZoMOatp

22、 Fi l l S y m b o l.Co l o r =p U n i q u e V a l u e R.Ad d V a l u e e g矫 Ad v a n c e t h e c u r s o r t o L,S e t p Ne x t Ro w =p Cu r s o r.小 三 赳LOOP g r s b No w s e t t h e l a y e r s r e n d e r e t l s i L-S e t p Ge o Fe a t Ly r.Re n d e r e r =p U n i q u e V a l u e Rp Mx Do c u m e

23、n t.Ac t i v e V i e w.Re f r e s hp Mx Do c u m e n t.U p d a t e Co n t e n t sEn d S u b _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Th SDO C M*RxDocunaat技 字 母 序|按分英序|En d S u bPr i v a t e S u b Z o o m Ou t _ S e l e c t 0Pr i v a t eDi mDi mDi mS u b Z o o

24、m W i n d o w _ C1i c k()p Ma p In s e t As IMa p In s e tp Ma p In s e t W i n d o w As IMa p In s e t W i n d o wp Da t a W i n d o w Fa c t o r y As IDa t a W i n d o w Fa c t o r yp Da t a W i n d o w Fa c t o r y =Ne w Ma p In s e t W i n d o w Fa c t o r yIf p Da t a W i n d o w Fa c t o r y.C

25、a n Cr e a t e(Ap p l i c a t i o n)T h e nS e t p Ma p In s e t W i n d o w =p Da t a W i n d o w Fa c t o r y.Cr e a t e (Ap p l i c a t.S e t p Ma p In s e t =p Ma p In s e t W i n d o w.Ma p i n s e tS e t t h e z o o m p e r c e n t t o 200%参考代码如下:Private Sub ZoomOut_MouseDown(ByVal button As L

26、ong,ByVai shift As Long,ByVai x As Long,ByVai y As Long)Dim pActiveView As lActiveViewDim pMxDocument As IMxDocument,鼠标左键按下,If button 1 Then Exit Sub,If pActiveView Is Nothing Then,Set pMxDocument=ThisDocument,Set pActiveView=pMxDocument.Activated View End If 得到起始点 Set m_pPoint=pActiveView.ScreenDis

27、play.DisplayTransformation.ToMapPoint(x,y)m_bIsMouseDown=True Exit SubEnd Sub修改鼠标移动事件响应函数,参考代码如下:Private Sub ZoomOut_MouseMove(ByVal button As Long,ByVai shift As Long,ByVai x As Long,ByVai y As Long)Dim pMxDocument As IMxDocumentDim pActiveView As lActiveView,,鼠标移动:主要通过InewEnvelopeFeedback.StartPoi

28、nt和 MoveTo方法来绘制矩形框,然后赋值给lActiveView.Extend属性,达到地图的放大缩小 If Not m_bIsMouseDown Then Exit Sub If pActiveView Is Nothing Then Set pMxDocument=ThisDocument Set pActiveView=pMxDocument.ActivatedView End If If m_pFeedbackEnv Is Nothing Then Set m_pFccdbackEnv=New NewEnvelopeFcedback Set m_pFeedbackEnv.Disp

29、lay=pActiveView.ScreenDisplay m_pFeedbackEnv.Start m_pPoint End If Set m_pPoint=pActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x,y),Draw Envelope,m_pFeedbackEnv.MoveTo m_pPoint,Exit SubEnd Sub修改鼠标键弹起事件响应函数,参考代码如下:Private Sub ZoomOut_MouseUp(ByVal button As Long,ByVai shift As Long,ByVai

30、x As Long,ByVai y As Long)Dim pActiveView As lActiveViewDim pMxDocument As IMxDocumcntDim pEnv As lEnvelope,鼠标左键弹起 If button 1 Then Exit Sub,If pActiveView Is Nothing Then Set pMxDocument=ThisDocument Set pActiveView=pM xDocument.Activated View End If If(m_pFeedbackEnv Is Nothing)Then User Only Clic

31、k Map with left button Set pEnv=pActiveView.Extent 果是缩小的话,将这里的两个0.5都改成L5,pEnv.Expand 0.5,0.5,True Else*User Draw a Envelope,Set pEnv=m_pFeedbackEnv.Stop End If,pActiveView.Extent=pEnv m_bIsMouseDown=False,Set m_pPoint=Nothing,Set m_pFeedbackEnv=Nothing,pActiveView.Refresh,Exit SubEnd Sub内容二:窗口移动理户点击

32、按钮后,可以拖动地图显示采用 lActiveView.ScreenDisplay.PanStart 和 PanStop 方法使地图移动。通过 lActiveView.ScreenDisplay 的 PanStart 和 PanStop 方法在 ITool 的MouseDown,MouseUp和 MouseMove事件的响应实现移动效果添加模块级变量,参考代码如下:Dim m_bIsMouseDown As Boolean修改前标键按下事件响应函数,参考代码如下:Private Sub Pan_MouseDown(ByVaI button As Long,By Vai shift As Long

33、,By Vai x As Long,ByVai y As Long)Dim pMxApp As IMxApplicationDim pScrDisp As IScreenDisplayDim pStarlPoint As IPoint 鼠标左键按下 If Not button=1 Then Exit Sub Set pMxApp=Application,Set pScrDisp=pMxApp.Display.FocusScreen,m_bIsMouseDown=True,Set pStartPoint=pScrDisp.Displayrrransformation.ToMapPoint(x,y

34、)得到起始点,开始移动,pScrDisp.PanStart pStartPoint,Exit SubEnd Sub修改鼠标移动事件响应函数,参考代码如下:Private Sub Pan_MouseMove(ByVal button As Long,ByVai shift As Long,ByVai x As Long,ByVai y As Long)Dim pMxApp As IMxApplicationDim pScrDisp As IScreenDisplayDim pMoveToPoint As IPoint 鼠标移动,If Not m_bIsMouseDown Then Exit Su

35、b,Set pMxApp=Application,Set pScrDisp=pMxApp.Display.FocusScreen,Set pMoveToPoint=pScrDisp.DisplayTransfonnation.ToMapPoint(x,y)根据鼠标移动,移动地图,pScrDisp.PanMoveTo pMoveToPoint,Exit SubEnd Sub修改鼠标键弹起事件响应函数,参考代码如下:Private Sub Pan_MouseUp(By Vai button As Long,ByVai shift As Long,ByVai x As Long,ByVai y As

36、 Long)Dim pMxApp As IMxApplicationDim pScrDisp As IScreenDisplay 鼠标左键弹起,If Not m_bIsMouseDown Then Exit Sub,Set pMxApp=Application Set pScrDisp=pMxApp.Display.FocusScreen,m_bIsMouseDown=False,pScrDisp.PanStop Exit SubEnd Sub实验要求1.使用基础实习成果数据(或其他示例数据)2.完成实验要求的两个实例(最好要有自己的内容)3.将代码保存在一个地图文件MXD中,上交后方可离开实

37、验室(如未完成可在课下通过邮件提交)见 痫客户化组件库扩展(ArcGIS 9.3/C#)实验三AO组件库扩展由于Arcinfo是完全COM 化的,对于需要对Arcinfo进行结构定制和功能扩展的高级开发人员来说,这非常具有吸引力。任何与COM 兼容的编程语言,如:C#,Visual C+,D elphi或 VisuaU+都能用来定制和扩展Arcinfoo 一个扩展模块开发的基本步骤如下:(1)新建工程,添加A O的引用;(2)实现需要的接口,添加具体的代码;(3)编译为 DLL,注册该 COM 组件,并在 ArcGIS 的 omponent categories注册(也可以使用界面的自定义对话

38、框浏览定位到具体的dll来注册);(4)测试和调试。编写ArcGIS扩展,可以完成以下任务:O Command:即一个按钮、菜单,通 过 实 现【Command、ITool IToolCommand 接 口 来创建;O Edit Task:与 ArcMap Editor协同工作的组件,需要实现lEditTask接口;O Table of Contents tab:类似左侧的数据和图层视图的小窗口,通过实现 IContentsView接口来创建;O Class extension:自定义对象(feature),即有自己属性和规则的空间对象,例如红绿灯对象,电线,电闸等等,需要实现IClassEx

39、tension等接口。实验目的脱 离 ArcM ap环境而在VB/VC或 C#开发环境中进行外部独立的开发,初步了解ArcObjects组件库,力求能读懂、理解COM 组件实例程序,基本了解客户化组件库扩展的基本思路和方法。实验内容1.创建定制的按钮button,实现要素feature的过滤显示;2.创建定制的工具to o l,实现Polygon要素查询;实验学时2 学时。实验步骤内容一:创建feature过滤显示的按钮通过实现【Command接口来创建定制的按钮(COM command)oICommand 接口包括 caption name、category bitmap message(S

40、tatusBarr 的提示信息)、tooltip(微帮助)、help context i d、help fileenabled以 及 checked等十个属性和OnCreate、OnClick两个事件。从Icommand接口的OnCreate事件中获取的ArcMap的 Application实例必须用一个公共变量保存,以便在其它事件中(或者其它接口的事件中甚至整个工程中)使用。OnCreate事件的参数hook传入的是一个 Object,也就是ArcM AP的Application实例,可把它赋给一个lApplication接口的变量,便获得了ArcMAP的实例。在OnClick事件中写入相关

41、代码,表示按下按钮时要实现的功能.车例要完成的功能是过滤层中要显示的Features,即根据指定的条件显示层中的Features。实 现 本 例 的 功 能 用 到 接 口 IFeatureLayerDefinition中 的 属 性DefinitionExpression:设置查询条件来选择出要显示的Features0先得到 要 过 滤 层 的 FeatureLayer,再 用 IFeatureLayerDefinition 的DefinitionExpression 设置显示条件。在 VS.NET 2005中使用ArcEngine提供的C#向导建立项目,项目类型为 Class Librar

42、y o添加对ArcGIS核心组件的引用。选中解决方案,单击鼠标右键菜单,添加,新建项。新建一个 Base Commando设置Command的类型。向导自动生成了 OnCreate函数,代码如下:p u b l i c o v e r r i d e v o i d O n C r e a t e(o b j e c t h o o k)(i f (h o o k =n u l l)r e t u r n;t r y(m _ h o o k H e l p e r =n e w Hook He l pe rC l a ssO;m_ h ook He l pe r.Hook =h ook;i f

43、 (m_ h ook He l pe r.A c t i v e V i e w =nu l l)m_ _ h ook He l pe r=nu l l;c a t c hm_ h ook He l pe r=nu l l;)i f (m_ h ook He l pe r=nu l l)b a se.m_ e na b l e d =f a l se;e l seb a se.m_ e na b l e d =t ru e;/T ODO:A d d ot h e r i ni t i a l i z a t i on c od e通过 m_hookHelper 可以得至(J ActiveVie

44、w、FocusMap、PageLayout 组件对象。修改按钮所在的分类,参考代码如下:b a se.m_ c a t e g ory =C#S a mpl e s*;/l oc a l i z a b l e t e x tb a se.m_ c a pt i on=Fi l t e r;/l oc a l i z a b l e t e x tb a se.m_ me ssa g e =T h i s sh ou l d w ork i nA rc Ma p/Ma pC ont rol/Pa g e La y ou t C ont rol7;/l oc a l i z a b l e t

45、e x tb a se.m_ t ool T i p=Fi l t e r;/l oc a l i z a b l e t e x tb a se.m_ na me =My S a mpl e _ Fi l t e rC omma nd;/u ni qu e i d,non-l oc a l i z a b l e(e.g.My C a t e g ory _ My C omma nd)使用ArcGIS开发工具Library Locator来查找接口、组件类所在的组件包名称在类定义文件头使用using组件包的命名空间。修改Onclick事件相应函数代码,参考代码如下:pu b l i c ov

46、 e rri d e v oi d OnC l i c k()(/T ODO:A d d C omma nd 1.OnC l i c k i mpl e me nt a t i onILa y e r l y r=m_ h ook He l pe r.Foc u sMa p.g e t _ La y e r(O);IFe a t u re La y e rDe f i ni t i on f Ly rDe f =l y r a s IFe a t u re La y e rDe f i ni t i on;f Ly rDe f.De f i ni t i onEx pre ssi on=人口

47、=5 0”;m_ h ook He l pe r.A c t i v e V i e w.Re f re sh();)开发好一个客户化组件后,便可根据实际需要,在 ArcMap环境下加载这个客户化组件。其一般步骤如下:1 在 Customize 对 话 框“Toolbars或者Commands”页,然后点击2、如果加载是“Commands”,可以将其拖置于任何工具条上3、如果加载是“ToolBars”,则可在ArcMap中显示打开ArcMap客户化Customize对话框,添加按钮到ArcMap工具条上。一回反 lie 工&t 丫1*(ooloiarkx Xnsert Sleutaon o o

48、 ls lindov Help口 方。昌X电ex GC 6 h 295:0O6;:幺。:R?陶 国 目 门E D码P际一 W 回 回 金Bditot .T 3:f-3 1 Yyt 3|X O S 3 :EJ匚 初 近口 天 心区-g Lyers-0行 陶匚 开福区-0企事业单位阚嬴钿二rf f iAl最uBBtstssBSKv CMH4I cM tltihincCatcornr巨画CastoaizeToolbars Qcenwds|Qptio&x|3D ViwAdjasttktAdvgc.d Edit ToolsAninationArcPadArcScutArcTlboiAttribut*tr

49、tatferBook*arks63D Analyst Ltywr List Cat AAdd F“twr”t TIMAr tad VO1T嬷Contour TlCr*t U I Fro*Ftur(Ftw es to 3D.,Introl*t lane TlSaves ichangiharod“KM oE|fiddfropJte|Q o e|_).,”,二一七 Wr q i sLLJBrsirtLR 型 *A*iX 宋体-I io_*B/&;Custi th*user interface112*437 5 2 1 28*24*35 21 NDttptay 1 Source j Setoctoc|

50、运行效果如下:-g L ayers-a行戴区匚 开 距匚 美 机z.匚 附 H口 无 忸口 岳 IS Z-S企事业单位000B0S内容二:创建Polygon要素查询的工具用户在类模块中实现ICommand和 ITool接口。ITool接口包括mousemove,mouse button press/release,keyboard key press/release,double-click以及right click等 事 彳 牛、Cursor属性和Refresh方法。Tool既具有Button的功能,又具有与ArcMAP界面交互的功能,Button的功能代码必须写在ICommand的 OnC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com