[第三关]神奇的菜单操作

菜单是我们日常使用中最长使用的方式之一,优点是节约空间,同时兼顾直观大方,也是我们ahk程序员设计过程中绕不过去的地方,今天我们这一关就是菜单的设计大赛了,朋友们,都亮出你们的绝技吧!!

参考代码:

/*
脚本说明:以最少的代码快速创建自己的菜单;
zhanglei1371
*/

CreateMenu(菜单名,菜单项目,图标:="",第几个图标=0,子菜单=0,路径=""){
	图标:=(图标=""?路径:图标)
	fn:=Func("标签函数").bind(路径,菜单名,菜单项目)
	if 子菜单=0
		Menu,%菜单名%,add,%菜单项目%,%fn%
	else
		Menu,%菜单名%,add,%菜单项目%,:%菜单项目%  ;%fn%
	SplitPath,图标,,,fileext
	if(fileext~="jpg|jpeg|ico|png|gif|bmp")
	Menu,%菜单名%,Icon,%菜单项目%,%图标%
	else
		Menu,%菜单名%,Icon,%菜单项目%,%图标%,%第几个图标%
}
标签函数(路径,菜单名,菜单项目){
	if 路径=
		gosub,%菜单项目%
	else
		Run, %路径%
}

;~ 使用示例:
numpad0::
	SetWorkingDir,%A_ScriptDir%\图标  ;脚本目录建立个图标文件夹
	CreateMenu("代码片段","代码片段1","shell32.dll",131,0) ;三级菜单
	CreateMenu("插入代码","代码片段","shell32.dll",151,1) ;二级子菜单
	CreateMenu("插入代码","运行记事本","shell32.dll",151,0,"notepad") ;二级子菜单
	CreateMenu("VBE","插入代码","ie.jpg",,1) ;一级菜单

	Menu,VBE,show
return

代码片段1:
	MsgBox 插入代码!
return

给TA捐赠
共{{data.count}}人
人已捐赠
其他案例

[办公]Mhotkey,根据鼠标位置设置热键

2017-2-25 21:30:48

其他

[编程][数据库]操作 Access 数据库[为何ADO]

2017-2-26 11:40:27

3 条回复 A文章作者 M管理员
  1. 奥运特别号

    居然可以用这个方式把ahk脚本做成工具集。我居然没想过这事

  2. alei

    /*
    随手弄出来的
    没有任何实际意义
    只是为了答题
    嗯,就是因为今天是星期天
    */
    /*突然发现编辑器还需要html标签啊,我是用的假的编辑器吗?*/
    ;creat a menu
    Creatmenu(mymenu)
    ;menu's features
    ;show menu
    #z::
    showmenu(mymenu)
    return
    ;Function
    Creatmenu(menuname){
    menu ,menuname ,add ,a
    menu ,menuname ,add ,b
    menu ,menuname ,add ,c
    }
    showmenu(menuname){
    menu ,menuname ,show
    }
    ;labels
    a:
    msgbox ,This is a
    return
    b:
    msgbox ,This is b
    return
    c:
    msgbox ,This is c
    return

  3. 河许人

    看来这一关还是太难了!!

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索