Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8137|回复: 6

『原创』关于加载菜单的几种方式

[复制链接]
发表于 2013-8-18 22:56:19 | 显示全部楼层 |阅读模式
实现目标:在help后面添加一个菜单,放自己的函数。
实现方式:帖子所述
目前进程:完成1,2。3,4调试不出。

SKILL看了一些关于加载自己菜单的方式,这里总结下思路:(我用的是16.3)
方式一:在.men文件下手动进行修改。
    这个群里有很多,本人已验证,这里略。
方式二:通过axlUIMenuDump() axlUIMenuLoad()加载
    这种方式是将当前的菜单通过axlUIMenuDump()函数读取,存放在一个临时文件中,文件操作,将自己的菜单添加到这个临时文件中,然后通过axlUIMenuLoad()函数,加载这个临时文件。
    这种方式其实感觉更第一种方式差不多。本人已验证,可行。
方式三:通过axlUIMenuFind()axlUIMenuInsert()加载
    这种方式通过axlUIMenuFind找到自己想要添加的菜单位置,axlUIMenuInsert()添加菜单。
    我暂时出不来,不知道哪里出问题
方式四:通过axlUIMenuRegister()加载
    这种方式通过axlUIMenuRegister()直接进行添加。
    我暂时出不来,不知道哪里出问题

调试进程描述:方式三与方式四都是编译成功的,但是执行就是挑不出菜单,@deargds版主能帮我找下原因吗?
menu.il文件我都看了,就是出不来。

方式三代码:
SKILLToolsMenu = '(
     (popup "SKILL Tools")
     ("test"                        "TEST")
)
defun(MikecMenuTrig ()
        let( (q)
        q = axlUIMenuFind(nil -1)
        res = axlUIMenuInsert(q SKILLToolsMenu)
        )
)
axlTriggerSet('menu  'MikecMenuTrig)

方式四代码:
defun(MikecMenuTrig ()
        let( (q)
        q = axlUIMenuRegister( -1 SKILLToolsMenu )
        )
)
发表于 2013-8-19 09:48:48 | 显示全部楼层
写在 allegro.ilinit 文件内, 重新打开allegro 试试
发表于 2016-1-28 10:24:47 | 显示全部楼层
谢谢你的解说, 让我有点了解
发表于 2017-1-6 19:18:41 | 显示全部楼层
找不到想要的东西 哎
发表于 2017-1-6 22:42:47 | 显示全部楼层
谢谢,学习了
发表于 2017-2-3 14:55:27 | 显示全部楼层
谢谢,学习了
发表于 2024-7-16 20:26:05 | 显示全部楼层
谢谢 学习了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-11-23 16:29 , Processed in 1.216722 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表