Page 60 - AutoLISP и Visual LISP в среде AutoCAD
P. 60

3.5. ФУНКЦИИ AUTOLISP ДЛЯ РАБОТЫ С ДИАЛОГОВЫМИ ОКНАМИ


                         (load_dialog имя_файла)
                         Функция  открывает  DCL-файл  и  возвращает  его  уникальный
                  дескриптор,  необходимый  для  дальнейшей  работы  с  диалогом.  Параметр
                  имя_файла – строка, содержащая имя DCL-файла (можно без расширения).
                         Пример:
                  (setq id (load_dialog "new.dcl"))              ; Сохранить дескриптор файла
                                                                 ; с диалогом в переменной id

                         (unload_dialog id)
                         Закрывает  DCL-файл  и  освобождает  дескриптор  с  ним  связанный.
                  Всегда  возвращает  nil.  Параметр id – дескриптор, возвращенный  функцией
                  load_dialog.



                         (new_dialog имя_диалога id [[действие] точка])
                         Отображает  диалоговое  окно  на  экране,  инициализирует  выражения
                  действия, приписанные  стандартным  кнопкам  подтверждения  и  отмены,  а
                  также элементам управления, у которых задан атрибут action. При успешном
                  отображении  диалога  функция  возвращает  T,  в  противном  случае – nil.
                  Параметры: имя_диалога – строка,  содержащая  имя  диалогового  окна; id –
                  дескриптор,  возвращенный  функцией load_dialog; действие – строка,
                  содержащая выражение AutoLisp, которое необходимо выполнить в момент
                  выбора  элемента  управления  по  умолчанию,  т.е.  имеющего  атрибут
                  is_default=true (чаще всего, это кнопка подтверждения); точка – список (X
                  Y), определяющий точку положения левого верхнего угла диалогового окна.
                  Если  параметр точка задан  как  список  (-1 -1),  то  диалоговое окно
                  отображается в центре графического экрана AutoCad.
                         Если  требуется  аргумент  точка,  а  аргумент  действие  определять  не
                  нужно,  то  аргументу  действие  необходимо  присвоить  пустую  строку.  При
                  задании  действия  внутри new_dialog,  важно  учесть,  что,  чаще  всего, при
                  выборе  элемента  по  умолчанию  диалог  заканчивается,  следовательно,
                  аргумент  действие,  в  данном  случае,  должен  содержать  вызов  функции
                  закрытия диалога (done_dialog).


                         Пример:
                  (new_dialog "dialog1" id)             ; отобразить диалог с именем "dialog1"


                         (done_dialog [код_завершения])
                         Завершает  диалог  и  убирает  диалоговое  окно  с  экрана.  Функция
                  возвращает в виде списка (X Y) положение диалогового окна в момент его
                  закрытия.  Параметры:           код_завершения         –    необязательный  аргумент,
                  представляющий целое положительное число, информирующее приложение
                  о причине закрытия диалогового окна.




                                                                                                             59
   55   56   57   58   59   60   61   62   63   64   65