CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于列表框和弹出列表 (DCL) 的列表操作

2023-1-6 09:23| 发布者: admin| 查看: 616| 评论: 0|来自: AutoCAD

摘要: 对话框中的列表要求您按照特定顺序使用项目填充它们。

对话框中的列表要求您按照特定顺序使用项目填充它们。

对话框列表操作始终以函数调用开头。函数语法如下:start_list

(start_list key [operation [index]])

key参数是标识对话框磁贴的字符串。关键参数区分大小写。操作参数是一个整数值,指示您是创建新列表、更改列表还是追加到列表。以下是有效的操作参数:

start_list的操作代码

价值

描述

1

更改所选列表内容

2

追加新列表条目

3

删除旧列表并创建新列表(默认)

索引参数仅用于更改操作。索引指示要通过后续调用更改的列表项。列表中的第一项是索引 0。如果不指定操作,则默认为 3(创建新列表)。如果未指定索引,则索引值默认为 0。add_list

您可以按如下方式实现列表操作:

创建新列表 (3)

调用后,重复调用以将新项目添加到列表中。通过调用结束列表处理。start_listadd_listend_list

更改列表中的项目 (1)

调用后,callonce 替换在调用中指定索引的项目。(如果多次调用,它将再次替换同一项目。通过调用结束列表处理。start_listadd_liststart_listadd_listend_list

将项目追加到列表 (2)

调用后,调用将项目追加到列表末尾。如果继续呼叫,则会附加更多项目,直到您呼叫为止。start_listadd_listadd_listend_list

无论您正在执行哪种列表操作,都必须按顺序调用这三个函数:,然后(可能不止一次),然后。start_listadd_listend_list

该函数可用于将“原始”AutoLISP 列表转换为列表框显示。在下面的示例中,list 包含要显示在名为“选定内容”的列表框中的字符串。可以使用此代码片段设置列表并按如下所示显示它:mapcarappnames

(start_list "selections")    ;Specify the name of the list box.
(mapcar ' add_list appnames) ;Specify the AutoLISP list.
(end_list)

由于列表创建 (3) 是默认值,因此此示例未指定它。

atile 的值是所选项目的索引(如果允许多个选择,则为所选项目的索引)。如果程序需要知道与索引关联的实际文本,则必须保存原始列表。它还必须跟踪对列表的更改。list_box

追加列表项类似于创建新列表。例如,如果其中有 12 个项目,并且您想要追加另一个列表(调用),则可以使用以下代码:appnamesnewnames

(start_list "selections" 2)
(mapcar 'add_list newnames)
(end_list)

更改单个项目只需要一次调用。在这种情况下,您可以指定要更改的项的索引:add_list

(start_list "selections" 1 5) ;Change the sixth item in the list.
(add_list "SURPRISE!")        ;Remember that the first index is 0.
(end_list)

如果不从头开始重建列表,则无法删除列表项或插入项。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 12:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部