CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

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

2023-1-8 08:55| 发布者: admin| 查看: 404| 评论: 0|来自: AutoCAD

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

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

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

(start_list key [operation [index]])

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

start_list的操作代码

价值

描述

1

更改选定的列表内容

2

追加新的列表条目

3

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

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

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

创建新列表 (3)

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

更改列表中的项目 (1)

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

将项目追加到列表 (2)

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

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

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

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

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

磁贴的值是所选项目的索引(如果允许多个选择,则为所选项目的索引)。如果程序需要知道与索引关联的实际文本,则必须保存原始列表。它还必须跟踪对列表的更改。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   苏公网安备32011402011833)

GMT+8, 2024-12-15 14:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部