3.3.1、命令的其它说明

来源:互联网 发布:国际阿里云paypal限制 编辑:程序博客网 时间:2024/05/17 04:12

1、查询顺序

当一个命令调用的时候,命令栈先按组名搜索,然后是组中的命令名。一般情况下,第一个注册的组会先被搜索,但是这个顺序不是总是确定的,AcEdCommandStack::popGroupToTop()这个函数来指定一个组优先被搜索,在用户级别的命令中,ARX命令的组选项允许用户指定那个组优先被搜索。

2、全局和局部命令名

当你添加一个命令的时候,你需要指定一个全局的名字,它能够被任何语言使用,同时你还需要指定一个局部的名字,他是一个AutoCAD外文版本的翻译。如果你不需要局部名字,你可以让他和全局名字一样。

3、透明命令和模态命令

一个命令要么是透明的要么是模态的,一个透明命令能够在用户进行其他输入的时候调用,(即在其他命令执行时候也执行这个命令),而模态命令不行,要调用它的时候,不能有其他命令或者输入正在进行。AcEdCommandStack::addCommand函数中的commandFlags参数用来指定命令是透明(ACRX_CMD_TRANSPARENT)的还是模态的(ACRX_CMD_MODAL),这个参数还能被指定为其他值,要了解请参考开发者文档中的AcEdCommandStack部分。透明命令只能在同一级别嵌套。即主命令调用的时候,一个透明命令能被调用。

如果你创建多个命令来操作同一个全局对象,考虑是否需要将命令设置为模态的,这样命令不会互相干扰,如果这个几何没有问题,那么设置为透明的将会有更大的灵活性。

0 0