আমি আরকম্যাপ 10.0 এর জন্য একটি অ্যাড-ইন-এ কাজ করছি যা আর্কম্যাপে একটি সরঞ্জামদণ্ড যুক্ত করে। OpenModelessDialogCommand
সেই সরঞ্জামদণ্ডের একটি কমান্ড ( ) বোতামটি একটি মোডলেস উইনফোর্ডস ডায়ালগটি খুলবে, যা থেকে কোনও সরঞ্জাম ( MyTool
) সক্রিয় করা যায় যাতে মানচিত্রের কোনও বৈশিষ্ট্য নির্বাচন করা যায়।
আমার Config.esriaddinx
এই কমান্ড এবং সরঞ্জামদণ্ডের ঘোষণা রয়েছে:
<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>
MyTool
ফর্মটি সক্রিয় করার সাথে আমার যে সমস্যা হচ্ছে তা হ'ল । ইন্টারনেটে আমি যা কিছু পেয়েছি তা হ'ল লাইনগুলির সাথে কোড নমুনা:
// get a reference to an instance of MyTool:
ICommandItem myTool = ArcMap.Application.Document.CommandBars.Find("MyTool");
// activate MyTool:
ArcMap.Application.CurrentTool = myTool;
তবে এটিকে আপাতদৃষ্টিতে প্রয়োজন হয় যে MyTool
আমার অ্যাড-ইনের একটি কমান্ড বারে (উদাহরণস্বরূপ সরঞ্জামদণ্ড) হাজির। তবে বিষয়টি তেমন নয়। সুতরাং, আমি এটি পরবর্তী চেষ্টা করেছি:
ITool myTool = new MyTool();
ArcMap.Application.CurrentTool = myTool; // Type mismatch! An ICommandItem is expected.
এমনকি আমি AxToolbarControl
আমার ফর্মটিতে একটি অদৃশ্য যোগ করার এবং MyTool
সেখানে একটি বোতাম যুক্ত করার চেষ্টা করেছি ; তবে তারপরে কীভাবে SetBuddyControl
খোলা নথির মানচিত্রে সেই সরঞ্জামদণ্ডটি (মাধ্যমে ) সংযুক্ত করতে হয় তা নিয়ে আমি সমস্যায় পড়ছি । আমি চাই না যে সরঞ্জামটি আলাদাভাবে AxMapControl
কাজ করতে পারে, আমি এটি আর্কম্যাপে প্রদর্শিত মূল মানচিত্রের সাথে সরাসরি কাজ করতে চাই।
প্রশ্ন:
আমি কীভাবে কোনও কাস্টম সরঞ্জাম সক্রিয় করব যা কোনও সরঞ্জামদণ্ডে যুক্ত হয় না (বা অন্য কমান্ড বার, সে ক্ষেত্রে)?
bug
এখনও উপস্থিত বলে মনে হচ্ছে না; ট্যাগগুলি নিজে সম্পাদনা করতে নির্দ্বিধায় অনুভব করুন।