Daha çox

“Məkana görə Seç” informasiya qutusuna zəng etmək və parametrlərə giriş əldə etmək üçün bir yol varmı?


ArcObjects 9.3 ilə VB.Net istifadə edərək inkişaf etdirdiyim bir tətbiqdə koduma "Yerə görə Seç" informasiya qutusunu göstərməyə çalışıram. ICommandItem interfeysi vasitəsi ilə birbaşa UID istifadə edərək zəng edə biləcəyimi bilirəm, ancaq informasiya qutusu tərəfindən təyin olunan parametrlərə (məsələn seçim qatına, seçim metoduna və s.) Girməyim lazımdır - etmədiyim bir şey UID metodu ilə mümkün olduğunu düşünürəm). Bunu IQueryAttributes interfeysindən istifadə edərək "Atributla Seç" informasiya qutusuna zəng edə biləcəyinizə bənzər şəkildə itkin düşməyimin bir yolu varmı?


Bu interfeysi heç vaxt istifadə etməmişəm, belə ki, həqiqətən yaxşı bir tapın! Ancaq hələ də dialoqun ifşa olunduğundan əmin deyiləm ...

Alternativ olaraq seçmə yeri coğrafi işləmə alətini açmaq və göstərməkdir? Aşağıdakı VBA kodu, Hesablama Alanını açır, lakin parametrləri doldurmaq və interfeysi açmaq üçün əsas sintaksis verir.

İctimai Sub OpenCalculateTool () Hook Toolbox daxil və almaq alət Dim pUID kimi New UID pUID = "esriGeoprocessingUI.ArcToolboxExtension" Dim pArcToolboxExtension kimi IArcToolboxExtension Set pArcToolboxExtension = Application.FindExtensionByCLSID (pUID) Dim pArcToolbox kimi IArcToolbox Set pArcToolbox = pArcToolboxExtension.ArcToolbox Dim pGPTool IGPTool Set pGPTool = pArcToolbox.GetToolbyNameString ("CalculateField") 'Invoke metodu ilə tələb olunan mesajlar yaradın. pGPParameter kimi IGPParameter Dim pGPDataType kimi IGPDataType Dim pGPParameterEdit kimi IGPParameterEdit "Set alət parametrləri Set pGPParameter = pArray.Element (0) Set pGPParameterEdit = pGPParameter Set pGPDataType = pGPParameter.DataType Set pGPParameterEdit.Value = pGPDataType.CreateValue (" a ") 'Featurelayer adı Set pGPParameter = pArray.Element ( 1) Set pGPParameterEdit = pGPParameter Set pGPDataType = pGPParameter.DataType Set pGPParameterEdit.Value = pGPDataType.CreateValue ( "xx") 'Tarla Set pGPParameter = pArray.Element (3) Set pGPParameterEdit = pGPParameter Set pGPDataType = pGPParameter.DataType Set pGPParameterEdit.Value = pGPDataType.CreateValue ("VB") 'Aracı açın Dim pGPToolCommandHelper As IGPToolCommandHelper2 Set pGPToolCommandHelper = New GPToolCommandHelper pGPToolCommandHelper.SetTool pGPTorMG,