MBAR
这是一个输出关键字,设置了这个关键字给一个变量名可以让一个菜单栏放置到组件(这个组件必须是顶层组件)的最上方。菜单栏(menubar)本身就是比较特殊的组件,因为他只能有按钮作为子组件。设置这个关键字给一个变量名,这个变量名就包含了一个菜单栏组件的组件ID,利用这个组件ID就可以创建下拉菜单。如下例:
base = WIDGET_BASE(TITLE = 'Example', MBAR=bar) file_menu = WIDGET_BUTTON(bar, VALUE='File', /MENU)
类似的有TOOLBAR,设置带图标的工具栏 MAP
当一个组件层次被实现后,它可以是mapped(可见的)或unmapped(不可见的) MODAL
设置这个关键字两创建模对话框,有该关键字后就不能设置滚动条、菜单、Mbar、Map关键字了。 FRAME
设置组件周围的线框 TRACKING_EVENTS 设置这个关键字后,无论什么时候鼠标进入或离开组件所在区域都会触发这个事件。组件跟踪事件返回这样一个结构体:
{ WIDGET_TRACKING, ID:0L, TOP:0L, HANDLER:0L, ENTER:0 }
ID、TOP、HANDLER是每个组件event都有的标准字段,进入事件ENTER为1,反之为0.
Widget_Button函数的关键字 MENU UNAME
给这个关键字设置一个字符串可以在你的代码中区分这个组件, UVALUE
组合框组件WIDGET_COMBOBOX
Widget_Combobox函数创建一个组合框组件,这和下拉表(DropList)很像,它们两个的主要不同在于组合框组件可以以一种可编辑的形式创建,允许用户输入一个列表中没有的值。 组合框显示的时候显示一个文本和一个下拉按钮,如果组合框是不可编辑的,在用户选择了一个新的选项时会产生一个事件,这个事件的事件结构(event structure)包含了被选择条目的索引(index),index是从0开始记的;如果组合框是可编辑的,可以在文本框中输入一个值,这时会引起一个事件,事件结构中的index被设为-1,当前的文本也保存在事件结构中的STR字段中,可以与选择事件区分。 Widget_Combobox函数的一些关键字 EDITABLE 设置组合框是否可编辑
LIST_EVENTS 点击箭头按钮时产生该事件
针对组合框组件,在Widget_Control过程中有一些专门的关键字如:COMBOBOX_ADDITEM, COMBOBOX_DELETEITEM, COMBOBOX_INDEX, SET_COMBOBOX_SELECT ;在Widget_Info函数中也有一些专门的关键字如:COMBOBOX_GETTEXT, COMBOBOX_NUMBER 组合框的组件事件
当鼠标选择一个组合框中的选项后,会使组合框的文本框中的文本改变,也引起一个事件,这个事件返回的事件结构为:
{WIDGET_COMBOBOX, ID:0L, TOP:0L, HANDLER:0L, INDEX:0L, STR:\
下拉列表组件WIDGET_DROPLIST
下拉列表在有条目被选择时引发事件,事件结构中包含被选中条目的索引(index),index编号从0开始。
WIDGET_DROPLIST函数的关键字
Value,可以是单个字符串,也可以是字符数组,它包含了下拉列表所列的条目。下拉列表会以最长的字符串的长度来调整自身的长度。
事件返回的事件结构:
{ WIDGET_DROPLIST, ID:0L, TOP:0L, HANDLER:0L, INDEX:0L }
图像读取 Read_JPEG
READ_JPEG [, Filename], Image [, Colortable] [, BUFFER=variable] [,
COLORS=value{8 to 256}] [, DITHER={0 | 1 | 2}] [, /GRAYSCALE] [, /ORDER] [, TRUE={1 | 2 | 3}] [, UNIT=lun][, /TWO_PASS_QUANTIZE]
Filename 文件路径 Image 读出的图像存放的变量 Colortable 在读取真彩色图像时,通过对图像颜色量化(color-quantizing)得到一个颜色映射,将这个颜色映射保存到这个变量中,这个变量包含了一个byte型数组,维数是(nColors,3),nColors是从关键字COLORS得来的。如果读取的JPEG文件是灰度的,则图像彩色量化过程就不执行。 COLORS 如果要读取的图像文件是一个真彩色图像,但是要以索引色来显示,那么就设置COLORS关键字吧,把这个关键字设置成一个你想要的彩色量化的值,范围是8-256,
DITHER 和 TWO_PASS_QUANTIZE关键字会影响到图像量化的方法、速度、和质量。但是如果要读取的文件是灰度的,这个关键字不产生影响。
DITHER 设置这个关键字使在彩色量化时使用抖动
; Read and display a JPEG TrueColor image on a TrueColor display:
READ_JPEG, 'test.jpg', a, TRUE=1
; Display the image returned with pixel interleaving ; (i.e., with dimensions 3, m, n): TV, a, TRUE=1
Read the image, setting the number of colors to be quantized to the maximum number of available colors.
; Read a JPEG TrueColor image on an 8-bit pseudo-color display: READ_JPEG, 'test.jpg', a, ctable, COLORS=!D.N_COLORS-1 ; Display the image: TV, a
; Load the quantized color table: TVLCT, ctable