首页 > 代码库 > 如何给ENVI Classic添加菜单(IDL8.3+ENVI5.1)

如何给ENVI Classic添加菜单(IDL8.3+ENVI5.1)

1、直接看代码

①测试程序1

PRO MY_EVENT2_DEFINE_BUTTONS, buttonInfo  COMPILE_OPT IDL2  ENVI_DEFINE_MENU_BUTTON, buttonInfo, $    value = ‘caidan‘, uvalue = http://www.mamicode.com/‘哈哈‘, $    event_pro = ‘MY_EVENT2‘, $    ref_value = ‘Help‘, position = ‘last‘ ENDPRO MY_EVENT2,EV    FILE=DIALOG_PICKFILE()    RES= DIALOG_MESSAGE(FILE, /INFORMATION)END

②测试程序2

PRO MY_PROCESS_DEFINE_BUTTONS, buttonInfo  COMPILE_OPT IDL2  ENVI_DEFINE_MENU_BUTTON, buttonInfo, $    value = http://www.mamicode.com/‘My Menu‘, /menu, $"color: #ff0000;"> ref_value = http://www.mamicode.com/‘My Menu‘, position = ‘last‘, $    /separatorENDPRO MY_PROCESS, event  COMPILE_OPT IDL2  PRINT, ‘Running the process‘END

③示例代码3

PRO MY_EVENT2_DEFINE_BUTTONS, buttonInfo  COMPILE_OPT IDL2  ENVI_DEFINE_MENU_BUTTON, buttonInfo, $    value = ‘op4‘, uvalue = http://www.mamicode.com/‘哈哈‘, $    event_pro = ‘MY_EVENT2‘, $    ref_value = ‘My Menu‘, position = ‘last‘ ENDPRO MY_EVENT2,EV    FILE=DIALOG_PICKFILE()    RES= DIALOG_MESSAGE(FILE, /INFORMATION)END

本例请在实验实例2之后在运行,因为在执行完成实例2之后才会有My Menu菜单,此例旨在为My Menu菜单添加一个新的在菜单op4,实验结果并未成功添加,原因在于

MY_EVENT2和MY_PROCESS的先后顺序无法指定。

2、重置、编译,在控制台输入save,filename=‘E:\temp\my_process.sav‘,/rout

3、生成的my_process.sav拷贝到C:\Program Files\Exelis\ENVI51\classic\save_add目录下

4、重启ENVI

 

如何给ENVI Classic添加菜单(IDL8.3+ENVI5.1)