3.3.1、命令的其它說明

1、查詢順序

當一個命令調用的時候,命令棧先按組名搜索,然後是組中的命令名。一般情況下,第一個註冊的組會先被搜索,但是這個順序不是總是確定的,AcEdCommandStack::popGroupToTop()這個函數來指定一個組優先被搜索,在用戶級別的命令中,ARX命令的組選項允許用戶指定那個組優先被搜索。

2、全局和局部命令名

當你添加一個命令的時候,你需要指定一個全局的名字,它能夠被任何語言使用,同時你還需要指定一個局部的名字,他是一個AutoCAD外文版本的翻譯。如果你不需要局部名字,你可以讓他和全局名字一樣。

3、透明命令和模態命令

一個命令要麼是透明的要麼是模態的,一個透明命令能夠在用戶進行其他輸入的時候調用,(即在其他命令執行時候也執行這個命令),而模態命令不行,要調用它的時候,不能有其他命令或者輸入正在進行。AcEdCommandStack::addCommand函數中的commandFlags參數用來指定命令是透明(ACRX_CMD_TRANSPARENT)的還是模態的(ACRX_CMD_MODAL),這個參數還能被指定爲其他值,要了解請參考開發者文檔中的AcEdCommandStack部分。透明命令只能在同一級別嵌套。即主命令調用的時候,一個透明命令能被調用。

如果你創建多個命令來操作同一個全局對象,考慮是否需要將命令設置爲模態的,這樣命令不會互相干擾,如果這個幾何沒有問題,那麼設置爲透明的將會有更大的靈活性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章