Тема: Помогите с программой (нечто вроде dos_proplist из DOSLib)
Добрый день!
Сам в ObjectARX абсолютный "0" и к сожалению на VLISP и DCL мои чаяния не решить. Поэтому ищу помощи на эотой ветке. Думаю, что у "монстров от ObjectARX" явно есть в загашниках нечто подобное... А именно, мне нужна небольшая утилитка для использования при разработке программ для ACAD (в основном пишу для себя) - чтобы было понятно для примера возьмём из DOSLib функцию (dos_proplist...)
(setq x '(("Title" . "Floorplan") ("Project" . "Project A")))
(dos_proplist "Drawing Properties" "Modify Properties" x)
в результате имеем диалоговое окно с желаемым количеством строк и описанными параметрами, кликнув по выбранной строке получаем на выходе строчный примитив (второй член списка в данном случае) и далее делаем с ним, что хотим... Всё хорошо, за исключением одного - окно после выбора прячется.
Вот собственно и задача: в процессе работы некой программы диалоговое окно должно быть видно постоянно, чтобы в любой момент можно было из него выбрать нужный параметр или опцию (т.е. аналогично, как это происходит в случае использования SCREENMENU в ACAD) и отключить окно тогда, когда нужно пользователю (в конце работы программы).
(proplist (...)(...)) - окно активно
(proplist nil) - окно закрыто
Т.е. получить некий гибрид (dos_proplist) и SCREENMENU.
Предвижу справедливое недоумение, мол "так и пользуйся ты своим SCREENMENU". К сожалению с приходом формата файлов меню *.cui манипуляции с использованием SCREENMENU, для меня лично, превратились в сплошной гемморой. Ко всему, похоже, это самое SCREENMENU воспринимается разработчиками как рудимент, на него особого внимания уже не обращают и оно бесконечно глючит при включении-выключении. К тому же с версии ACAD 2009, я слышал, будет окнчательно упразднено. А привычки, приобретенные с годами, очень сильны.
Так что уважаемые коллеги и иже сочувствующие, прошу вас найти немного времени для того, чтобы помочь товарищу.
Кстати, если ЭТО выложить в готовые программы, думаю большая толпа народу будет счастлива.
Да, желательно, чтобы были варианты начиная от 15-й версии АСАD и выше (работаю в основном ACAD 2002 и 2006)...
С уважением.