ArcMap için bir araç çubuğu ekleyen ArcMap 10.0 için bir eklenti üzerinde çalışıyorum. OpenModelessDialogCommand
Bu araç çubuğundaki bir komut ( ) düğmesi, MyTool
örneğin harita üzerinde bir özellik seçmek için bir aracın ( ) etkinleştirilebildiği , modelsiz bir WinForms iletişim kutusu açar .
Benim Config.esriaddinx
şu komut ve araç çubuğu bildirimlerini içerir:
<Commands>
<!-- this is the command that opens the modeless WinForms form, from where
MyTool is available: -->
<Button id="OpenModelessFormCommand" ... />
<!-- MyTool is not directly referenced in any toolbar defined in this file: -->
<Tool id="MyTool" class="MyTool" ... />
</Commands>
<Toolbars>
<Toolbar ...>
<Items>
<Button refID="OpenModelessFormCommand" />
</Items>
</Toolbar>
</Toolbars>
Sorun yaşadığım şey MyTool
formda aktive etmek. İnternette bulduğum tek şey aşağıdaki kod örnekleri:
// get a reference to an instance of MyTool:
ICommandItem myTool = ArcMap.Application.Document.CommandBars.Find("MyTool");
// activate MyTool:
ArcMap.Application.CurrentTool = myTool;
Ancak, görünüşe göre bu, eklentimin MyTool
bir komut çubuğunda (örn. Araç çubuğu) görünmesini gerektirir . Ama durum böyle değil. Bunu bir sonraki denedim:
ITool myTool = new MyTool();
ArcMap.Application.CurrentTool = myTool; // Type mismatch! An ICommandItem is expected.
Hatta formuma görünmez AxToolbarControl
bir ekleme ve MyTool
orada bir düğme ekleme baktım ; ama sonra bu araç çubuğunu (üzerinden SetBuddyControl
) açılan belgenin haritasına nasıl bağlayacağım konusunda sorunlar yaşıyorum . Aracın ayrı AxMapControl
olarak çalışmasını istemiyorum, doğrudan ArcMap'ta gösterilen ana harita ile çalışmasını istiyorum.
Soru:
Herhangi bir araç çubuğuna (veya başka bir komut çubuğuna) eklenmeyen özel bir aracı nasıl etkinleştiririm?
bug
henüz var gibi görünmüyor; lütfen etiketleri kendiniz düzenlemekten çekinmeyin.