Добрый день.
С наступившим всех!)
...
Насколько я понял, автозагрузка плагинов осуществляется через соответвующую запись в реестре (
http://through-the-interface.typepad.com/through_the_interface/2006/09/automatic_loadi.html). При этом есть два варианта: либо чтобы плагин загружался сразу, либо чтобы он загружался при первом вызове какой-либо оформленной в нем команды. Меня интересует первый вариант.
При загрузке плагина мне нужно добавить на ленту новую вкладку с кнопками. Соответственно у меня получается такой код:
public class Commands : IExtensionApplication
{
public void Initialize()
{
...
addTab();
...
}
}
Однако вкладка на ленту не добавляется. При этом сама процедура инициализации выполняется полностью.
Насколько я понял, плагины загружаются практически сразу после начала загрузки самого AutoCAD'а. И пока плагин не загрузится, AutoCAD тоже дальше загружаться не будет (например, если в функции Initialize() вызвать Windows.MessageBox(), то AutoCAD не будет дальше загружаться, пока не закроешь окно MessageBox'а).
Причем в момент загрузки плагина сама лента (объект RibbonControl) еще не создана, из-за чего добавить вкладку не получается.
...
Собственно, вопрос: можно ли как-то сделать так, чтобы плагин загружался не ДО, а ПОСЛЕ того, как AutoCAD инициализирует пользовательский интерфейс?
...
P.S. Понятно, что можно создать еще одну команду AutoCAD, назвать ее addRibbon и заставить пользователя вводить ее каждый раз... Но это как-то неудобно.(