ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Функциональная схема


Диалоговые окна - для интерактивного использования. Сценарий может запустить диалоговое окно, но не может управлять это или обеспечивать ввод, как только это открыто. Это - тот же самый как acedCommand () и acedCmd () функции.

Примеры, данные в этом разделе демонстрируют типичную последовательность функции диалогового окна следующим образом:

1 Загружают файл DCL ads_load_dialog () запрос.

2 Запрос ads_new_dialog () чтобы отобразить специфическое диалоговое окно на экране графики AutoCAD.

Проверьте состояние значения, которое ads_new_dialog () возвращается. При запросе ads_start_dialog () когда ads_new_dialog () запрос потерпел неудачу, может иметь непредсказуемых результатов.

3 Инициализируют диалоговое окно,  основывая значения неперекрывающего расположения, списки, и изображения.

Функции, типично вызываемые в это время следующие:

§

ads_set_tile () и ads_mode_tile () для общего неперекрывающего расположения оценивает и состояния

§         ads_start_list (), ads_add_list (), и ads_end_list () для списков

§         ads_dimensions_tile () для установки значений неперекрывающего расположения, наряду с следующими функциями создания изображения:

Ads_start_image ()

Ads_vector_image ()

Ads_fill_image ()

Ads_slide_image ()

Ads_end_image ()

Вы можете также вызывать ads_client_data_tile () в это время, чтобы связать специфичные для приложения данные с диалоговым окном и его компонентами.

Вызовите ads_action_tile () в этой точке, чтобы основать функции повторного вызова.

4 Запрос ads_start_dialog () чтобы повернуть контроль над к диалоговому окну так, чтобы пользователь мог вводить ввод.

5 ввода пользователя Процесса изнутри ваших функций. Это - то, когда Вы наиболее вероятно, чтобы использовать ads_get_tile (), ads_get_attr (), ads_get_attr_string (), ads_set_tile (), и ads_mode_tile ().

6 пользователь нажимает кнопку выхода, вызывая функцию вызвать ads_done_dialog (), который тогда заставляет ads_start_dialog () возвращать значение. В этой точке, разгрузите файл DCL,  вызывая ads_unload_dialog ().


Эту последовательность можно показывать схематично в псевдокоде следующим образом:

Load_dialog

New_dialog

Action_tile; и другие инициализации

Start_dialog

; Тогда изнутри выражений действия / функции повторного вызова:

Get_tile; и другая входная обработка

Set_tile

Done_dialog

Unload_dialog

Эта схема обрабатывает только одно диалоговое окно и один файл DCL одновременно. Приложения обычно имеют множественные диалоговые окна. Самый простой и самый быстрый способ обрабатывать эти диалоговые окна состоит в том, чтобы сохранить все из них в единственном файле DCL. Запрос ads_load_dialog тогда загружает все диалоговые окна сразу, и Вы можете вызывать ads_new_dialog для любого диалогового окна. Если память ограничена, однако, Вам, вероятно, придется создавать множественные файлы DCL и использование ads_unload_dialog, чтобы удалить набор тех диалоговых окон от памяти прежде, чем Вы загружаете другой набор с ads_load_dialog.


Содержание раздела