• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Кнопка "переключатель" на панели Компас

Автор once, 11.12.17, 20:31:33

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

once

Подскажите как сделать кнопку "переключатель" (при нажатии подсвечивается, при повторном нажатии подсветка выключается) в панели инструментов Компас при разработке прикладной библиотеки. В справке не нашел. Например, как здесь во вложении.


По минимуму, использовать функцию LibCommandState, в справке она есть.
+ Благодарностей: 1

once

В справке написано, что это "Получить состояние команды библиотеки"

function  LibCommandState(Command:Integer; var Enable:Integer; var Checked:Integer):Integer; stdcall; export;
Смотрите, как объявлены  переменные: Enable и Checked.

once

Сделал я как в справке, но функция не вызывается компасом или я вообще не догоняю, примера в справке тоже нет, только описание функции, а как это работает не понятно.

Команды должны быть определены в файле ресурсов, функция должна экспортироваться, чтобы Компас её видел.
Функция вызывается Компасом, при каждом цикле обработки сообщений.

once

И экспортной функцию тоже сделал, но так ни разу Компас и не вызвал ее  :(
ПС. делаю на шарпе

Я пишу на Delphi, у меня всё прекрасно работает.

once

Sabahs, а подскажи, пожалуйста, что значит "Команды должны быть определены в файле ресурсов"? Они должны быть как-то по-особому определены, чтобы им можно было менять состояние или как обычно?

12.12.17, 16:25:52 #9 Последнее редактирование: 12.12.17, 17:02:26 от Sabahs
Откройте пример c:Program Files/ASCON/KOMPAS-3D v17/SDK/Samples/Pascal/Delphi/step2 и посмотрите файл ресурсов.
PS. Хотя судя по примерам из SDK, для C# использовать функцию LibCommandState не получится, хотя могу и ошибаться.