设置 DCL 对话框需要使用多个 AutoLISP 函数,这些函数需要按特定顺序调用。
下面概述了显示和使用 DCL 对话框时需要遵循的典型序列:
- 通过调用加载 DCL 文件。load_dialog
- 调用以显示特定对话框。new_dialog
请务必检查 返回的值。呼叫失败时进行呼叫可能会产生不可预知的结果。new_dialogstart_dialognew_dialog
- 通过设置切片值、列表和图像来初始化对话框。在调用以设置操作表达式或回调函数时,也要初始化。此时通常调用的其他函数是 和 对于常规图块值和状态,对于列表框,以及带有 、 、 和 的维度函数(对于图像)。此时,还可以调用将特定于应用程序的数据与对话框及其组件相关联。action_tileset_tilemode_tilestart_listadd_listend_liststart_imagevector_imagefill_imageslide_imageend_imageclient_data_tile
- 调用以将控制权移交给对话框,以便用户可以输入输入。start_dialog
- 从您的操作(回调)中处理用户输入。在最有可能使用 、 、 和 时处理输入。用户按下退出按钮,导致操作调用,这会导致返回一个值。此时,通过调用 卸载 DCL 文件。get_tileget_attrset_tilemode_tiledone_dialogstart_dialogunload_dialog
此方案一次只处理一个对话框和一个 DCL 文件。应用程序通常有多个对话框。处理这些对话框的最简单、最快捷的方法是将它们全部保存在一个 DCL 文件中。然后,调用一次加载所有对话框,并且您可以调用任何对话框。但是,如果内存有限,则可能需要创建多个 DCL 文件,并在加载另一组对话框之前从内存中删除一组对话框。load_dialognew_dialogunload_dialog
注意:Mac OS 上的 DCL 比 Windows 上使用更多的内存,卸载不需要的 DCL 文件定义以避免内存不足。
|