zoukankan      html  css  js  c++  java
  • IDL界面程序直接调用envi菜单对应功能

    参考自http://blog.sina.com.cn/s/blog_764b1e9d010115qu.html

    参考文章的方法是构建一个button控件,通过单击实现,这种方法比较复杂,不是我们经常能用的的,我们希望在程序中直接控制相当于单击了菜单的操作,下面就是实现方法。

    一、背景知识:

    ENVI的菜单系统,包括主菜单和显示窗口菜单,是由ENVI安装目录下menu目录下的envi.mendisplay.men这两个ASCII码文件定义的。Windows系统上menu的路径为ittidlxxproductsenvixxmenu

    envi.men文件定义了ENVI主菜单中的选项,display.men文件定义了显示窗口菜单中的选项。每次ENVI启动的时候,这两个文件被读入并根据其内容构建ENVI的菜单。在菜单中添加内容,只需在这两个文件中添加相应的内容并重启ENVI即可。

    使用任何文本编辑器就可以打开envi.men文件。在文件的顶部有些介绍的注释文本。注释结束后,就是如下的文件的结构:

    0 {File}

      1 {Open Image File} {open envi file} {envi_menu_event}

      1 {Open Vector File} {open vector file} {envi_menu_event}

      1 {Open Remote File} {open remote file} {envi_menu_event}

      1 {Open External File} {separator}

        2 {Landsat}

          3 {Fast} {open eosat tm} {envi_menu_event}

    每一行开始的数据定义了菜单项的层次。0表示最顶层,1表示一级子菜单,2表示二级子菜单,如此类推。

    {Open Image File}第一个大括号的部分定义了显示在菜单上的内容。

    {open envi file}第二个大括号的部分定义了为菜单项所赋给的用户值(uValue),基于用户值可以判别哪个菜单项被点击了。

    {envi_menu_event}第三个大括号定义了菜单项事件处理程序的名称,即编写的用户函数名。该处使用的是函数名,而不是用户函数所在的文件名,所以没有后缀。

    二、应用

    以envi下的统计功能为例,调用时首先明确菜单内容,如下:

    ;  1 {Statistics} {separator}

      ;    2 {Compute Statistics} {compute file stats} {envi_menu_event}

      ;  创建button时,

      

    创建按钮时,{Compute Statistics}代表是value{compute file stats} 代表uvalue                {envi_menu_event}代表的是event_pro

    模拟单击完整代码如下:

    pro menu_example,sevent

    uvalue='compute file stats'

    base = widget_base()

    butt_ok = widget_button(base, uvalue=uvalue)

    sevent={widget_button,ID:butt_ok,TOP:butt_ok,handler:butt_ok,select:1}

    envi_menu_event,sevent

    end

       

  • 相关阅读:
    迁移模型问题,提示admin已存在
    centos 部署的时候安装不上Mariadb,缺少依赖文件
    collections
    List里面添加子list,子list clear之后竟然会影响主List里面的内容
    Jackson用法详解
    Ouath2.0在SpringCloud下验证获取授权码
    zookeeper原理之Leader选举的getView 的解析流程和ZkServer服务启动的逻辑
    zookeeper原理之Leader选举源码分析
    Spring Integration sftp 专栏详解
    SpringMVC常用注解标签详解
  • 原文地址:https://www.cnblogs.com/lartely/p/3182645.html
Copyright © 2011-2022 走看看