Тема: Как создать Toolbar со своими кнопками при помощи ActiveX?
Подскажите, как создать новую Toolbar со своими кнопками при помощи ActiveX. А то я в этом не силен.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → Настройка меню и DIESEL → Как создать Toolbar со своими кнопками при помощи ActiveX?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Подскажите, как создать новую Toolbar со своими кнопками при помощи ActiveX. А то я в этом не силен.
Создается текстовый файл с расширением mnu и потом грузится :)
Вот пример кода, который создает панель "New-1" с одной кнопкой:
(vla-setbitmaps (vla-addtoolbarbutton (vla-add (vla-get-toolbars (vla-item (vla-get-menugroups (vlax-get-acad-object)) "ACAD" ) ) "New-1" ) 0 "Name_button" "Helpstring" (strcat (chr 3) (chr 3) (chr 95) "line" (chr 32)) ) "C:\\New-1.BMP" "C:\\New-1.BMP" )
в данном случает кнопке присваивается картинка с именем "C:\\New-1.BMP"
Спасибо.
Маленький вопрос - в каком месте будет сохранена инфа о созданной toolbar? И чего делать, если ее надо будет поменять?
> kpblc
Созданный toolbar - объект и для полученя или изменения его свойств надо пользовать объектную модель, разумеется :). В mnu/mns эта панель и операции с ней не отображается.
> kpblc
Нигде не будет сохранена, пока не сохранить программно. (т.е. при помощи vla-Save). И то там есть какие-то нюансы в разных версиях AutoCAD...
Ничего не понимаю, если честно. Неужели можно сделать "временную" панель, запись о которой не хранится ни в каком mns? А если проверять все файлы mns после выполнения? В коде-то напрямую сказано, что хранить в группе ACAD, т.е. судя по всему, модифицируется acad.mns... Или я ошибаюсь?
Когда в чертеж добавлена линия, изменения в dwg тоже не отображаются до его сохранения.
> AY
> Александр Ривилис
Эта панель сохранилась у меня в acad.mns. Без пиктограммы, естественно. Эта панель присутствует в адаптации. При новом запуске AutoCAD панель появляется на прежнем месте. Ничего я не сохранял, все само собой получилось.
> Владимир Громов
Версия AutoCAD?
> Александр Ривилис
2005, естественно. В 2006 ведь нет файла acad.mns. В 2006 панель появилась на экране, но после перезагрузки AutoCAD ее не стало. В адаптации я ее не увидел. Но кнопка-то на ней работает после появления панели. И эта панель присутствует в списке панелей, вызываемом правой кнопкой мыши. Но в адаптации не нашел, может плохо искал.
> Владимир Громов
У меня ни в 2005, ни в 2006 эта панель после перезапуска AutoCAD не появляется и в списке панелей ее нет. В acad.mns ее тоже нет. Более того дата/время последней модификации файлов acad.mns/acad.mnс/acad.mnr не менялись после запуска программы. В AutoCAD 2006 метод save для menugroup упразднен, так что сохранить меню созданное через ActiveX в нем вообще невозможно.
Резюме - хочешь, чтобы меню было всегда - делай его в *.mns-файле.
> Александр Ривилис
Я-то всегда так и делаю. Это надежно, IMHO, и процессом управляешь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → Настройка меню и DIESEL → Как создать Toolbar со своими кнопками при помощи ActiveX?
Форум работает на PunBB, при поддержке Informer Technologies, Inc