ArcEngineを解決ToolbarControl

      ToolbarControlClass 3つの主なインタフェースがあります。 

 IToolbarControl、IToolbarControl2、IToolbarControlDefault  

     これは、IToolbarControlDefaultは最新バージョンでは、彼らがIToolbarControl3を持っている場合は、IToolbarControlDefaultはIToolbarControl3である、つまり、常にIToolbarControlで、「純粋な」ディスパッチインターフェイスである一方、IToolbarControl2がIToolbarControlの新バージョンです。

     ToolbarControlに項目を追加することができますIToolbarControlDefaultメンバーで3あります。

     AddItemメソッド():ICommandの、IMenuDef、IToolbarMenu、iToolの、の達成をサポート、ToolbarControlに項目を追加 IToolControl、IPaletteDefとIToolbarPalette クラスを。             

     AddMenuItem():ToolbarControl IMenuDefの達成をサポートする、メニュー項目、簡単にAddItemメソッド(せん断)バージョンを追加するには、IToolbarMenuクラス

     AddToolbarDef() アイテムToolbarControlにカスタムツールを追加します。

AddItemメソッドの例下:

最初のパラメータはオブジェクトのタイプであり、それは実質的であってもよい:UID、プログラムID、インタフェース(のICommand、IToolBarDef ...)、例えば

// UIDによるコマンドの追加
UIDにuID
= 新しいUIDClassを(); uID.Value = " esriControls.ControlsMapFullExtentCommand " axToolbarControl1.AddItem(UID、- 1 - 1 0 、esriCommandStyles.esriCommandStyleIconOnly)。// プログラムIDのことで、コマンドを追加する文字列のProgID = esriControls.ControlsMapFullExtentCommand axToolbarControl1.AddItem(PROGID、- 1 - 1





0 、esriCommandStyles.esriCommandStyleIconOnly)。

// のICommandによって、コマンドの追加
のICommandコマンド
= 新しいControlsMapFullExtentCommandClass()。axToolbarControl1.AddItem(コマンド、- 1 - 1 0 、esriCommandStyles.esriCommandStyleIconOnly)。

 

      ToolbarControlは内部CommandPoolがあり、コマンドはされていない場合、これはコマンドが作成されます。AddItemメソッドCommandPoolは、コマンドが既に存在するかどうかを確認し、時間にToolbarControlに追加する場合。管理を格納するために使用され、このカウントコマンドを使用して、CommandPoolを追加しましたコマンドが既に存在する場合は1に設定され、使用カウントがインクリメントされ、再利用されます。

     組み込みコントロールノートESRI.ArcGIS.Controls。このようなControlsMapZoomInFixedCommandClassにCommandClass一般的に終了すると、実装のICommandのインターフェイスを。このコマンドは永久にのiToolのMapControlをするためにこのようなControlsMapZoomInToolClassとして、インタフェースとの対話が必要になりますToolClass端が達成されていますiToolの実装クラス.ControlsFeatureSelectionToolbarClass IToolBarDef使用中の様々なインタフェースを実装するインタフェースクラスは異なっています。

ICommandのコマンドは= 新しいControlsOpenDocCommandClass(); command.OnCreate(m_mapControl.Object)。command.OnClick(); ICommandのpCommand = 新しいESRI.ArcGIS.Controls.ControlsMapZoomInToolClass(); pCommand.OnCreate(axMapControl1.Object)。axMapControl1.CurrentTool = pCommand としてのiTool。 





 

ArcEngineでは、ツールバーの使用方法を選択することができます。

 

ArcEngine ToolbarControlの1.、追加機能を使用して、既存のコマンドコントロールを追加します。

ArcEngine ToolbarControlの2.は、コマンドのICommandかのiTool(またはBaseCommand BaseToolまたは抽象クラス)から継承されて追加のコースを使用して、関数の独自の実装をコントロール追加します

3.カスタムツールバーを作成するために、IToolBarDefインターフェイスを達成するために(ツールバー)

4. ControlsXXXXXXClass一般的には、ボタン、メニュー項目やツールバー

<上記の純粋に個人的な理解で、間違った場合は、あなたに感謝し、メッセージを残してください>

ます。https://www.cnblogs.com/LoveLyre/archive/2011/08/31/2160640.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34066347/article/details/92840894
おすすめ