FAQ
ArcMapのデータフ レームをアクティブ化する方法

ナレッジ番号:5570 | 登録日:2023/07/27 | 更新日:2024/11/21

概要

ArcObjects を選択されたデータフ レームをアクティブ化する方法を示します。

Image

サンプル コード

[コンテンツ] ウィンドウにあるデータフレームを選択状態にしてから、下記のコードを実行してください。

IMxDocument pMxDoc = ArcMap.Document;
IMap pMap = null;

//[コンテンツ] ウィンドウで選択されているデータ フレームを取得
IContentsView pCV = pMxDoc.CurrentContentsView;
if (pCV.SelectedItem != null)
{
    //選択されているアイテムがデータ フレーム(Map)かどうかを確認
    if (pCV.SelectedItem is IMap)
    {
        pMap = (IMap)pCV.SelectedItem;
    }
    else
    {
        MessageBox.Show("データ フレームを選択してください");
        return;
    }
}
else
{
    MessageBox.Show("データ フレームを選択してください");
    return;
}

//選択されているデータ フレームがアクティブかどうかの確認
IActiveView pActiveView = pMxDoc.ActiveView;
if (pActiveView.FocusMap != pMap)
{
    //データ ビューかレイアウトビューかを確認
    if (pActiveView is IPageLayout)
    {
        pMxDoc.ActiveView.FocusMap = pMap;
    }
    else
    {
        pMxDoc.ActiveView = (IActiveView)pMap;
    }
}
Dim pMxDoc As IMxDocument = My.ArcMap.Document
Dim pMap As IMap

'[コンテンツ] ウィンドウで選択されているデータフレームを取得
Dim pCV As IContentsView = pMxDoc.CurrentContentsView
If Not pCV.SelectedItem Is Nothing Then
    '選択されているアイテムがデータ フレーム(Map)かどうかを確認
    If TypeOf pCV.SelectedItem Is IMap Then
        pMap = pCV.SelectedItem
    Else
        MessageBox.Show("データ フレームを選択してください")
        Exit Sub
    End If
Else
    MessageBox.Show("データ フレームを選択してください")
    Exit Sub
End If

'選択されているデータ フレームがアクティブかどうかの確認
Dim pActiveView As IActiveView = pMxDoc.ActiveView
If Not pActiveView.FocusMap Is pMap Then
    'データ ビューかレイアウト ビューかを確認
    If TypeOf pActiveView Is IPageLayout Then
        pMxDoc.ActiveView.FocusMap = pMap
    Else
        pMxDoc.ActiveView = pMap
    End If
End If

メタデータ

機能

種類

製品