FAQ
指定した拡大率で拡大するボタンを作成する方法

ナレッジ番号:5454 | 登録日:2023/07/27 | 更新日:2024/12/02

【概要】

指定した拡大率で拡大する新規UIButtonControlを作成する方法を示します。


【手順】

  1. ArcMapを起動します。

  2. 新規UIButtonControlを作成します。

    A:ツール > カスタマイズを選択してカスタマイズ・ダイアログを開きます。
    B:コマンド・タブをクリックします。
    C:カテゴリ・リスト・ボックスからUIControlsを選択します。
    D:保存先ドロップダウン・リストから「無題」を選択し現在のドキュメントにボタンを保存します。
    E:新規UIControlをクリックします。
    F:UIButtonControlを選択して作成をクリックします。
    G:新規UIButtonControlをツールバーの好きなところへドラッグします。
    H:カスタマイズ・ダイアログを閉じます。

  3. UIButtonControlを右クリックし、「ソースの表示」を選択します。

  4. UIButtonControlのClickイベントにコードをコピーします。

    
    ' 拡大率を設定します。
    Dim zoomAmount As Integer
    zoomAmount = 2
    
    Dim pMxApp As IMxApplication
    Dim pMxDoc As IMxDocument
    Dim pDisp As IScreenDisplay
    Dim pPoint As IPoint
    Dim pCenterPoint As IPoint
    ' ディスプレイを取得します。
    Set pMxApp = Application
    Set pDisp = pMxApp.Display
    Set pMxDoc = Document
    
    ' 現在の表示範囲(Envelope)を取得し、別の表示範囲(Envelope)に変更します。
    Dim pCurrentEnv As IEnvelope
    Dim pEnv As IEnvelope
    Set pCurrentEnv = pMxDoc.ActiveView.Extent.Envelope
    Set pEnv = pMxDoc.ActiveView.Extent.Envelope
    
    ' 新規Envelopeの幅と高さを半分にします。
    pEnv.Height = pCurrentEnv.Height / zoomAmount
    pEnv.Width = pCurrentEnv.Width / zoomAmount
    
    ' 新規Envelopeの中心座標を取得し既存のEnvelopeの中心座標にあわせます。
    Set pPoint = New Point
    Set pCenterPoint = New Point
    pCenterPoint.X = pCurrentEnv.LowerLeft.X + pCurrentEnv.Width / zoomAmount
    pCenterPoint.Y = pCurrentEnv.LowerLeft.Y + pCurrentEnv.Height / zoomAmount
    pEnv.CenterAt pCenterPoint
    
    ' ビューの表示範囲を新規Envelopeに設定し、ビューを再描画します。
    pMxDoc.ActiveView.Extent = pEnv
    pMxDoc.ActiveView.Refresh
    
    

  5. ArcMapにデータを追加し、新規UIButtonControlをクリックして拡大します。

メタデータ

種類

機能

製品