EDA365电子论坛网

标题: 『原创』关于加载菜单的几种方式——请@deargds帮忙审核下 [打印本页]

作者: whh5118    时间: 2013-7-21 15:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: whh5118    时间: 2013-7-21 15:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: XYX365    时间: 2013-7-22 08:16
本帖最后由 XYX365 于 2013-7-26 16:02 编辑

方法三必須直接將menu.il加載到allegro.ilinit裡面,重新開起allegro就會有你加入的menu選項

方法四改用下列完整的代碼,再直接加載到allegro.ilinit裡面,重新開起allegro就會有你加入的menu選項
  1. SKILLToolsMenu = '(
  2.      (popup "SKILL Tools")
  3.      ("test"                        "TEST")
  4. )

  5. defun(MikecMenuTrig (tArge)
  6.         let( (q)
  7.         q = axlUIMenuRegister( -1 SKILLToolsMenu )
  8.         )
  9. )

  10. MikecMenuTrig()
复制代码

作者: whh5118    时间: 2013-7-22 08:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: lyh289114980    时间: 2013-7-25 10:27
XYX365 发表于 2013-7-22 08:16
方法三必須直接將menu.il加載到allegro.ilinit裡面,重新開起allegro就會有你加入的menu選項

方法四改用下 ...

请问下二级菜单如何设置啊,就像楼上TEST菜单我再弄个子菜单,请问下如何操作。谢谢!
作者: szhot    时间: 2013-7-25 11:22
NXX的人啊...
作者: fangjunjie    时间: 2013-7-25 14:13
XYX365 发表于 2013-7-22 08:16
方法三必須直接將menu.il加載到allegro.ilinit裡面,重新開起allegro就會有你加入的menu選項

方法四改用下 ...

请问,如何在不重启allegro的情况下调用到新的菜单?
类似于点击菜单命令后,出现新的二级菜单可以点击
作者: deargds    时间: 2013-7-26 11:34
下面只针对Allegro启动时加载菜单问题说明,调试时直接调用函数名加载都没有问题.

第三种方法,问题出在回调函数上面
axlTriggerSet('menu 'XXX)
这里的XXX函数需要一个参数,  MikecMenuTrig (arg)
  1. SKILLToolsMenu = '(
  2.      (popup "SKILL Tools")
  3.      ("test"                        "TEST")
  4. )
  5. defun(MikecMenuTrig (arg)
  6.         let( (q)
  7.         q = axlUIMenuFind(nil -1)
  8.         res = axlUIMenuInsert(q SKILLToolsMenu)
  9.         )
  10. )
  11. axlTriggerSet('menu  'MikecMenuTrig)
复制代码
第四种方法,需要在加载完函数后进行调用
后面增加MikecMenuTrig()
作者: lyh289114980    时间: 2013-7-30 17:52
deargds 发表于 2013-7-26 11:34
下面只针对Allegro启动时加载菜单问题说明,调试时直接调用函数名加载都没有问题.

第三种方法,问题出在回 ...

版主二级菜单要怎样的格式啊?
作者: XYX365    时间: 2013-8-6 12:23
lyh289114980 发表于 2013-7-30 17:52
版主二级菜单要怎样的格式啊?
  1. SKILLToolsMenu = '(
  2.      (popup "SKILL Tools")
  3.      ("test"                        "TEST")
  4.      (separator)
  5.      (popup "Sub tools")
  6.         ("test1"    "TEST1")
  7.      (end)
  8. )
  9. defun(MikecMenuTrig (arg)
  10.         let( (q)
  11.         q = axlUIMenuFind(nil -1)
  12.         res = axlUIMenuInsert(q SKILLToolsMenu)
  13.         )
  14. )
  15. axlTriggerSet('menu  'MikecMenuTrig)
复制代码

作者: kinglangji    时间: 2014-9-13 15:40
请问楼主,在16.3上成功了么?我的在16.5上可以,但是在16.3上不行
作者: shirdon    时间: 2014-9-13 17:10
靠,明明要支持的,结果点了反对,不好意思
作者: 墨客的秋天    时间: 2016-11-2 07:52
谢谢分享
作者: mentorkk    时间: 2016-11-19 02:44
谢谢分享
作者: wcjcn    时间: 2017-6-8 20:30
学习学习。。。。
作者: billgong168    时间: 2017-10-31 18:09
我近期也遇到了这样的问题,阅读版主的解释后,立刻神清气爽,全身筋脉通畅,谢谢版主指点。

作者: maikeo    时间: 2018-1-23 18:41
标记一下
作者: digitzing    时间: 2018-2-6 15:52
这个可以有啊!很好!
作者: 无需执着    时间: 2021-2-23 15:17
我近期也遇到了这样的问题

作者: lc1234    时间: 2021-2-24 19:32
看看是什么哦
作者: edache365    时间: 2023-8-9 00:28
几种方法都可以对照学习下
作者: antoni2011    时间: 2024-1-4 14:43
学习一下了。
作者: specho202203    时间: 2024-1-5 13:42
有点意思这个
作者: SNOW282008    时间: 2025-4-11 16:22
谢谢分享      
作者: 学无止境```    时间: 2025-4-14 09:32
666666666666666





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