Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Язык управления диалогами (DCL) — это язык описания высокого уровня и интерпретатор в AutoCAD, предназначенный для создания простых графических диалоговых окон. Расширения AutoLISP используют его для взаимодействия с пользователем в среде AutoCAD.
Dialog Control Language (DCL) is a high level description language and interpreter within AutoCAD for creating simple graphical dialogs. AutoLISP extensions use it to interact with the user in the AutoCAD environment.
Особенности и использование
В отличие от других основных GUI API, DCL не является полноценным набором инструментов GUI для прикладного программирования. Он предназначен исключительно для создания простых диалоговых окон в AutoCAD. Он включает в себя базовые элементы управления формы, такие как текстовые поля, кнопки, флажки и списки. DCL объектно-ориентирован и обеспечивает повторное использование кода посредством наследования и композиции. Синтаксис DCL основан на определении и использовании "тайлов" (плиток). "Тайл" представляет собой элемент графического интерфейса, например, текстовое поле или текстовую метку. Тайлы также могут представлять элементы управления, содержащие другие элементы управления, такие как столбцы, группы переключателей и сами диалоговые окна. DCL предоставляет встроенные тайлы для всех основных элементов управления, а новые тайлы могут быть определены путем наследования и композиции существующих тайлов. DCL позволяет взаимодействовать с диалоговым окном во время выполнения с помощью кода Lisp. Определенные элементы управления могут быть связаны с действиями путем указания функции AutoLISP для выполнения и передаваемых ей значений. В отличие от других типов графических интерфейсов, диалоговые окна DCL нельзя существенно изменять во время выполнения. Содержимое некоторых элементов управления, таких как текстовые поля и списки, можно изменять, но элементы управления нельзя удалять или добавлять в диалоговое окно.
Unlike other major GUI APIs, DCL is not a complete GUI toolkit for application programming. It is only intended for providing simple dialogs within AutoCAD. It includes basic form widgets such as text boxes, buttons, checkboxes and list boxes. DCL is object oriented; it allows re use through inheritance and composition. DCL syntax is based on defining and using 'tiles'. A 'tile' represents a GUI widget such as a text box or a text label. Tiles also represent widgets that hold other widgets, such as columns, radio button groups and the dialogs themselves. DCL provides built in tiles for all major widgets, and new tiles can be defined through inheritance and composition of other tiles. DCL allows interactions with the dialog at run time by Lisp code. Certain widgets can have actions associated with them by naming an AutoLISP function to be run, and values to be passed to it. Unlike other types of GUIs, DCL dialogs cannot be changed substantially at run time. The contents of certain widgets such as text boxes and list boxes can be changed, but widgets cannot be removed from or added to the dialog.
Альтернативные технологии
Для создания более универсальных графических интерфейсов и других расширений в CAD, AutoDesk предлагает несколько альтернативных решений. API ObjectARX для C++ позволяет разрабатывать расширения непосредственно в Microsoft Visual Studio. VBA поддерживает программирование методом перетаскивания для AutoCAD, аналогично Microsoft Office и другим приложениям. Начиная с AutoCAD 2007 и более поздних версий, программы AutoLISP или Visual LISP могут вызывать подпрограммы, написанные в Visual Studio .NET (VB или C#). Программисты теперь могут создавать диалоговые окна на VB или C#, использующие весь спектр элементов управления, доступных в API .NET Forms, и вызывать их из Visual LISP.
For creating more general GUIs and other extensions within CAD, AutoDesk provides several other choices. The ObjectARX API for C++ allows extensions to be built as within Microsoft Visual Studio. VBA allows drag and drop programming for AutoCAD as for Microsoft Office and other applications. As of AutoCAD 2007 and later, AutoLISP or Visual LISP programs can call routines written in Visual Studio NET (VB or C#). Programmers can now create dialogs in VB or C# that have the full range of controls found in the NET Forms API and can be called and accessed from Visual LISP.