运行前在控制台启动ENVI。
pro envi_widget_pmenu_ex
compile_opt idl2
file = envi_pickfile()
if ~file_test(file) then return ;file_test()文件存在返回1,不存在返回0, ~逻辑非
envi_open_file, file, r_fid=fid
envi_file_query, fid, bnames=bnames
base = widget_auto_base(title='选择波段') ;顶级base,返回的值是一个长整型数值,组件ID,即widgetid
we = widget_pmenu(base, list=bnames,uvalue='menu', /auto) ;widget_pmenu控件
we = widget_rgb(base, index=5, uvalue='rgb', /auto) ;widget_rgb控件
result = auto_wid_mng(base) ;result是一个结构体,自动获取组件的返回值
if (result.accept eq 0) then return
print, 'Menu Item Selected= ', bnames[result.menu] ;bnames是一个数组
print, '颜色选择了:', result.rgb
end
运行结果图: