ss 发表于 2002-3-21 20:34:00

如何用VBA实现弹出右键菜单-->mccad转移

我想编一个小程序,选中一直线后弹出右键菜单,进行标注,问题是如何用VBA实现弹出右键菜单,并根据所选进行标注

e2002 发表于 2002-3-22 11:46:00

可以做到的,不过VL和vba都不能"动态可视化"实现标注

可以做到的,不过VL和vba都不能"动态可视化"实现标注

龙龙仔 发表于 2002-3-22 12:30:00

你已根据所选进行标注

并根据所选进行标注?????
你已根据所选进行标注,那弹出右键菜单干甚幺?????

ss 发表于 2002-3-22 20:17:00

vba 如何实现 menucmd

例如菜单如下
***POP23
**p03
[--]
15
20
25
32
40
50
65
70
100
125
150
200
250
300
350
400
选中直线后弹出右键次菜单选择DN400,则在选择处标注DN400
Vlisp好像是   menucmd "p03=p0" menucmd “p0=*”如何用VBA实现,选择菜单后返回的是什么?

e2002 发表于 2002-3-22 21:51:00

你可以使用命令选项右键菜单啊,无需使用PopMenu,即:

你可以使用命令选项右键菜单啊,无需使用PopMenu,下面的例子是用VL写的,VBA的同样也可以这样构造输入提示字符串来实现选项右键菜单

eg:


(defun C:your-function ( /....)
; save some system variables and error handle

(setq nType 25; init nType
        sType (itoa nType)
)
(while (setq esl (entsel "\nSpecify a line :"))
    (setq en (car esl)
          el (entget en)
          etype (cdr (assoc 0 el))
    )
    (if (= etype "LINE")
      (progn
        (setq nType-in (getint
                       (strcat "\nSpecify type is DNxxx <"
                               sType
                               ">: "
                         )
                     )
        )
        (if nType-in
          (setq nType nType-in
                sType (itoa nType)
          )
        );endif
       
        ;....
        ;....//add your codes here
        ;....
       
      );end progn
      (princ "\nNot a LINE object.");else
    );end if
);end while
;restore system variables and error handle
(princ)
);end defun C:your-function
页: [1]
查看完整版本: 如何用VBA实现弹出右键菜单-->mccad转移