• 如何给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 = '哈哈', $
        event_pro = 'MY_EVENT2', $
        ref_value = 'Help', position = 'last' 
    END
    
    PRO 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 = 'My Menu', /menu, $
        ref_value = 'Basic Tools', $
        /sibling, position = 'after'
    
      ENVI_DEFINE_MENU_BUTTON, buttonInfo, $
        value = 'Option 1', uvalue = 'option 1', $
        event_pro = 'my_process', $
        ref_value = 'My Menu', position = 'last'
    
      ENVI_DEFINE_MENU_BUTTON, buttonInfo, $
        value = 'Option 2', uvalue = 'option 2', $
        event_pro = 'my_process', $
        ref_value = 'My Menu', position = 'last'
    
      ENVI_DEFINE_MENU_BUTTON, buttonInfo, $
        value = 'Option 3', uvalue = 'option 3', $
        event_pro = 'my_process', $
        ref_value = 'My Menu', position = 'last', $
        /separator
    END
    PRO 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 = '哈哈', $
        event_pro = 'MY_EVENT2', $
        ref_value = 'My Menu', position = 'last' 
    END
    
    PRO 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: empmy_process.sav',/rout

    3、生成的my_process.sav拷贝到C:Program FilesExelisENVI51classicsave_add目录下

    4、重启ENVI

  • 相关阅读:
    C++ | 变量缩写
    C++_数据类型和操作
    Python_pandas处理数据格式和统计频次
    C++_分离编译与Cmake
    C++_输入和输出示例
    C++字符串分割
    Pytorch_yoloV5预测数据非结构数据结构化
    Pytorch_模型部署和推断
    mysql触发器
    【分布式ID】雪花、TDDLSEQUENCE、UUID
  • 原文地址:https://www.cnblogs.com/rockman/p/3938723.html
Copyright © 2020-2023  润新知