zoukankan      html  css  js  c++  java
  • 如何给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

  • 相关阅读:
    PyQt(Python+Qt)学习随笔:窗口的布局设置及访问
    PyQt(Python+Qt)学习随笔:QAbstractItemView的showDropIndicator属性
    PyQt学习随笔:QStandardItemModel使用注意事项
    Windows 2008 R2 防火墙允许Serv-U通过的方法
    实例化php类的时候如何传参
    密码强度检测
    php和c++socket通讯(基于字节流,二进制)
    PHP 魔术方法__set() __get() 方法详解
    type='button'和'submit'的区别
    jQuery实现CheckBox全选、全不选
  • 原文地址:https://www.cnblogs.com/rockman/p/3938723.html
Copyright © 2011-2022 走看看