ADN Club > ObjectARX
AcEdJig и Keywords
Михаил Голубев:
Здравствуйте!
Не могу заставить AcEdJig распознавать keywords.
Добавил новый класс производный от AcEdJig с помощью визарда, работает с AcDbLine, графически все работет как должно.
Теперь понадобилcя ввод keyword во время джига, добавил вот:
--- Код - C++ [Выбрать] ---AcString inputPrompts[1] = { "\nPick next point: [Size]"}; AcString kwords[1] = { "Size"}; и сюда:
--- Код - C++ [Выбрать] ---case kKW1:{ int newSize = 0; if (acedGetInt(_T("\nEnter new size: "), &newSize) == RTNORM) { dripl->AddSize(newSize); dripl->UpdateLastSegment(); } } Теперь промпт показывает keyword, но совершенно не реагирует на ввод. Просто отвечает: "Invalid 2D point." и показывает то же самое.
Александр Ривилис:
Давай полный проект (без мусора). Подозреваю, что так как ты хочешь сделать не получится. По ключевому слову нужно завершать Jig, получать дополнительную информацию и затем запускать Jig. Или как минимум менять acedGetInt на acquireDist.
Михаил Голубев:
Спасибо, хорошо, этого я не прочел в доках.
Идея была с помощью кворда модифициривать вызывающий объект, и потом продолжить джиг.
Но, в принципе, можно из него и выйти, назначить значение и снова запустить. Я то не знал, что невозможно чего то другого сделать.
Прилагаю проект на всякий случай.
Михаил Голубев:
В общем, чего то не работает... Джиг не реагирует на ключевое слово.
Сделал теперь так, что ККВ1 завершает джигу, и занимаюсь своими делами вне. Потом снова запускаю джигу. Но это не работает, так как джига упорно не хочет распознавать ключевое слово...
--- Код - C++ [Выбрать] ---case kKW1: quit = true; break;
Проект прилагается.
Александр Ривилис:
Михаил Голубев,
Завтра посмотрю. Пока же четко вижу, что ты не допонял идею.
Навигация
Перейти к полной версии