⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vba代码.txt

📁 关于常用的VBA的代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:

ao绘制箭头
Private Sub UIButtonControl1_Click()

Dim pMxDoc As IMxDocument
Dim pGraphicsContainer As IGraphicsContainer
Dim pActiveView As IActiveView
Dim pLineElement As ILineElement




Set pMxDoc = Application.Document
Set pGraphicsContainer = pMxDoc.FocusMap
Set pActiveView = pMxDoc.FocusMap

pGraphicsContainer.Reset

Set pLineElement = pGraphicsContainer.Next
    
    

Dim aCartoLineSymbol As ICartographicLineSymbol
Set aCartoLineSymbol = New CartographicLineSymbol

Dim aLP As ILineProperties
Set aLP = aCartoLineSymbol
aLP.Offset = 0

Dim hpe(6) As Double
hpe(0) = 0
hpe(1) = 7
hpe(2) = 1
hpe(3) = 1
hpe(4) = 1
hpe(5) = 0

Dim eLineTemplate As ITemplate
Set eLineTemplate = New Template
eLineTemplate.Interval = 1
Dim ix As Integer, jx As Integer

jx = 0
For ix = 1 To 3
eLineTemplate.AddPatternElement hpe(jx), hpe(jx + 1)
jx = jx + 2
Next ix

Set aLP.Template = eLineTemplate

aCartoLineSymbol.Width = 2
aCartoLineSymbol.Cap = esriLCSButt
aCartoLineSymbol.Join = esriLJSBevel

Dim HC As IRgbColor
Set HC = New RgbColor
HC.Red = 255
HC.Green = 0
HC.Blue = 0

aCartoLineSymbol.Color = HC

Dim pSymbol As ISymbol
Set pSymbol = aCartoLineSymbol

pLineElement.Symbol = pSymbol

pActiveView.Refresh


End Sub





















qq:1526005
所谓AO,现在一般都是指ArcGIS Desktop版本的组件开发集,即需要安装ArcGIS桌面版软件后才能安装这些组件开发集,它是所有版本中组件最全的版本,如果想对ArcGIS产品及其开发有个详尽的了解,学习AO是最恰当的。AO版本包括了所有的类库,其中包括ArcMap、ArcMapUI、ArcCatalog、ArcCatalogUI等组件库,这些组件库必须在安装了桌面版软件后才能使用。

    由于使用AO开发的程序必须安装桌面版软件,这使得它的开发成本大大增加。处于产品策略上的考虑,ESRI将AO中的某些组件集单独封装出来,起名为AE,使用AE开发的软件需要在一个RUNTIME下运行,而不需要安装ArcGIS软件。

    因此,AE只是AO的一个子集,使用AE开发的软件,在AO环境中使用没有问题,但是AO开发的程序,如果使用的组件库不被包含在AE中,就无法使用,比如IIdentifyDialog对象,就是只有在AO中才能使用。除此以外,AO版本的控件只有MapControl和PageLayoutControl两个,而AE的控件就丰富的多。
 
 


AO+VB:怎样实现特征的选择 
整理时间 [2004-09-11]   阅读次数 [2536] 

作者:hy2003al    

--------------------------------------------------------------------------------
 
文字大小:【大】【中】【小】  
try this:

Option Explicit
Private selflag As Boolean        '选择标志
Private Sub Command1_Click()
selflag = True
End Sub

Private Sub Form_Load()
selflag = False

End Sub

Private Sub MapControl1_OnMouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long, ByVal mapX As Double, ByVal mapY As Double)
If selflag = True Then
        Dim pSelEnv As ISelectionEnvironment
        Dim pRgbColor As IRgbColor
        Set pSelEnv = New SelectionEnvironment
        Set pRgbColor = New RgbColor
        pRgbColor.Red = 255
        pSelEnv.AreaSelectionMethod = esriSpatialRelIntersects
        Set pSelEnv.DefaultColor = pRgbColor
        
        Dim pEnv As IEnvelope
        Dim pRubber As IRubberBand
        Set pRubber = New RubberEnvelope
        
        Dim pActiveView As IActiveView
        Set pActiveView = MapControl1.ActiveView
        Set pEnv = pRubber.TrackNew(pActiveView.ScreenDisplay, Nothing)
        
        pActiveView.PartialRefresh esriViewGeoSelection, Nothing, Nothing
        MapControl1.Map.SelectByShape pEnv, pSelEnv, False

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -