EDA365电子论坛网

标题: SKILL请教 怎么在使用form时增加右键菜单 [打印本页]

作者: db-_-    时间: 2022-1-28 17:52
标题: SKILL请教 怎么在使用form时增加右键菜单
我现在的写法是在主程序显示form后,进入死循环。
  1. while(axlSelect(?prompt "")
  2.                 t
  3.         )
复制代码
然后在done响应程序中axlDBTransactionCommit,在cancel相应程序中axlDBTransactionRollback。并且都关闭form。
但是这样会有个问题,每次运行都会打印一行prompt后面的空行。
请教下,你们都是怎么在使用form时增加右键菜单的。
如果直接在form的callback程序里添加axlUIPopupSet,在form window切换到pcb时就会自动因为transaction start的mark丢失而还原。
是否还有逻辑更正规的写法?


作者: db-_-    时间: 2022-1-28 21:12
右键菜单用于done确认和cancel取消。不是在form里面点右键。
作者: qwertyuiohh    时间: 2022-1-29 11:24
是也经常犯这问题,在在菜单怎么都找不见,最后发现在右键中
作者: hjseek    时间: 2022-1-31 13:57
楼主把form写到allgro的options里面,应该就可以添加右键菜单了。
这个和allegro的命令机制有关,我也不是很懂,正常的form和allegro的命令是并行的,而右键菜单又是和options关联的,如果你将form写在options中,才能避免冲突。
作者: db-_-    时间: 2022-1-31 17:03
hjseek 发表于 2022-01-31 13:57:01
楼主把form写到allgro的options里面,应该就可以添加右键菜单了。
这个和allegro的命令机制有关,我也不是很懂,正常的form和allegro的命令是并行的,而右键菜单又是和options关联的,如果你将form写在options中,才能避免冲突。


感谢hjseek,使用mini的form确实是个办法,但有的时候还是得使用标准的form,对于标准的form我现在还是使用一楼里面的方法,凑合也可以,但还是想找个更好的办法。


作者: db-_-    时间: 2022-2-7 17:43
大佬都不来指导一下嘛。。。
我测试了一下。axlUIPopupSet放在form里时,
如果form里有用户交互的函数比如axlSelect,一切正常,可以使用右键done和cancel,
如果form里没有用户交互的函数,比如只使用了axlAddSelectAll,当form里的程序执行完,并切换到PCB界面,会自动cancle还原。

不知道大佬们有什么建议。我现在需要同时使用axlSelect和axlAddSelectAll两种。
作者: db-_-    时间: 2022-2-13 10:06
如果主程序里面有一个while axlSelect循环,form里也增加axlSelect,那么form里这个是不会生效的。

继续请大佬们指导。
作者: digitzing    时间: 2022-2-19 00:22
  1. procedure(show()
  2.         mypopup = axlUIPopupDefine( nil
  3.                 (list (list "Done" 'axlFinishEnterFun)
  4.                 (list "Cancel" 'axlCancelEnterFun)))
  5.                 axlUIPopupSet( mypopup)
  6. )
复制代码

作者: db-_-    时间: 2022-2-19 11:23
digitzing 发表于 2022-2-19 00:22

你没懂我的意思。
作者: db-_-    时间: 2022-2-19 14:33
搞定了~~~~
作者: Trunktren    时间: 2024-12-10 13:30
观望学习,向大佬致敬




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2