参考:GUI - Dialogs Routines
参考:GUI - Widgets Routines
参考:GUI - Compound Widgets Routines


01   DIALOG_MESSAGE 消息框。
02   DIALOG_PICKFILE 文件/文件夹选择。

序号 名称  

功能说明

  语法 & 举例
01 DIALOG_MESSAGE  

====<<<< Description >>>>====

消息框。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = DIALOG_MESSAGE( Message_Text [, /CANCEL] [, /CENTER] [, /DEFAULT_CANCEL | , /DEFAULT_NO] [, DIALOG_PARENT=widget_id] [, DISPLAY_NAME=string] [, /ERROR | , /INFORMATION | , /QUESTION] [, RESOURCE_NAME=string] [, TITLE=string] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为点击的按钮,可能是 “Yes”, “No”, “OK”, and “Cancel”。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈ Message_Text:显示的消息文本。
◈ CANCEL:设为 1 时为消息框增加一个“Cancel”的按钮。
◈ CENTER:消息框在屏幕中间显示。
◈ DEFAULT_CANCEL:设为 1 时默认选择“Cancel”。
◈ DEFAULT_NO:设为 1 时默认选择“NO”。
◈ ERROR:设为 1 时,消息框类型为错误提示对话框。
◈ INFORMATION:设为 1 时,消息框类型为信息提示对话框。
◈ QUESTION:设为 1 时,消息框类型为疑问对话框。
◈ TITLE=string:消息框的标题设置。

 
IDL> DIALOG_MESSAGE("消息内容", /CANCEL,
/CENTER, /INFORMATION, TITLE="我是标题")
Cancel

 02 DIALOG_PICKFILE

====<<<< Description >>>>====

文件/文件夹选择。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = DIALOG_PICKFILE( [, DEFAULT_EXTENSION=string] [, /DIRECTORY] [, DIALOG_PARENT=widget_id] [, DISPLAY_NAME=string] [, FILE=string] [, FILTER=string/string array] [, /FIX_FILTER] [, GET_PATH=variable] [, GROUP=widget_id] [, /MULTIPLE_FILES] [, /MUST_EXIST] [, /OVERWRITE_PROMPT] [, PATH=string] [, /READ | , /WRITE] [, RESOURCE_NAME=string] [, TITLE=string] )
----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

当未指定 DIRECTORY 关键字的时候,返回值为所选文件的完整路径或者多个路径的数组,没指定文件则返回空字符串;当指定 DIRECTORY 关键字的时候,返回值为所选文件夹的路径数组。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈ DEFAULT_EXTENSION:自动增加扩展名。
◈ DIRECTORY:选择文件夹。
◈ FILE=string:可以使用通配符进行筛选(FILE='sa*')。
◈ FILTER=string/string array:扩展名设置(FILTER=['*.jpg', '*.tif', '*.png'])。
◈ GET_PATH=variable:选项的路径,与 PATH 设置为相同的变。量,可以实现记住上一次打开的路径值。
◈ MULTIPLE_FILES:可以选择多个文件。
◈ PATH:设置初始进去的路径,不指定就进当前的工作空间。
◈ READ:标题为 “Select File to Read”。
◈ WRITE:标题为 “Select File to Write”。
◈ TITLE=string:标题设置。

 
IDL> DIALOG_PICKFILE(FILTER=['*.jpg', '*.tif', '*.png'],
GET_PATH=dir, TITLE="我是标题")
D:\桌面\QQ截图20160825160811.jpg
IDL> dir
D:\桌面\

IDL> DIALOG_PICKFILE(/DIRECTORY, TITLE="我是标题")
C:\Boot\

03 WIDGET_BASE  

====<<<< Description >>>>====

可以称为容器组件,任何界面必须以 Base 组件为基础界面。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_BASE( [Parent] [, /ALIGN_BOTTOM | , /ALIGN_CENTER | , /ALIGN_LEFT | , /ALIGN_RIGHT | , /ALIGN_TOP] [, /BASE_ALIGN_BOTTOM | , /BASE_ALIGN_CENTER | , /BASE_ALIGN_LEFT | , /BASE_ALIGN_RIGHT | , /BASE_ALIGN_TOP] [, BITMAP=value] [, COLUMN=value | , ROW=value] [, /CONTEXT_EVENTS] [, /CONTEXT_MENU] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, /EXCLUSIVE | , /NONEXCLUSIVE] [, /FLOATING] [, FRAME=value] [, FUNC_GET_VALUE=string] [, /GRID_LAYOUT] [, GROUP_LEADER=widget_id] [, /KBRD_FOCUS_EVENTS] [, KILL_NOTIFY=string] [, /MAP] [, /MASK] [, MBAR=variable | , /MODAL] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, SCR_XSIZE=value] [, SCR_YSIZE=value] [, /SCROLL] [, /SENSITIVE] [, SPACE=value] [, TAB_MODE=value] [, TITLE=string] [, TLB_FRAME_ATTR=value] [, /TLB_ICONIFY_EVENTS] [, /TLB_KILL_REQUEST_EVENTS] [, /TLB_MOVE_EVENTS] [, /TLB_RESIZE_NODRAW] [, /TLB_SIZE_EVENTS] [, /TOOLBAR] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS=value] [, UVALUE=value] [, XOFFSET=value] [, XPAD=value] [, XSIZE=value] [, X_SCROLL_SIZE=value] [, YOFFSET=value] [, YPAD=value] [, YSIZE=value] [, Y_SCROLL_SIZE=value] )

Motif Keywords:
[, DISPLAY_NAME=string] [, RESOURCE_NAME=string] [, RNAME_MBAR=string]

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回新建容器组件的 ID 值。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  TITLE:用于设置最底层容器组件的标题,也就是窗体标题。
◈  BITMAP:字符串指定标题旁图标(bmp、ico)。
◈  UVALUE:用户自定义值(User Value),可通过 WIDGET_CONTROL 过程的 GET_UVALUE 和 SET_UVALUE 读取和修改。可存储任意类型数据。
◈  UNAME:组件用户定义名,字符串。
◈  XSIZE:X 方向大小。
◈  YSIZE:Y 方向大小。
◈  XOFFSET:水平方向上组件的偏移量,不建议用在组件布局上。
◈  YOFFSET:垂直方向上组件的偏移量。
◈  FLOATING:创建浮动窗口,类似导航图窗口,可任意移动。
◈  MODAL:创建模式框窗口,该窗口在被关闭前无法对其父窗口进行操作。
◈  GROUP_LEADER:与 MODAL 组合使用,GROUP_LEADER = base1,就是与此组件联动,无法动。
◈  MBAR:创建菜单栏,调用方式为 mbar = menuID,其中 menuID 是菜单栏组件 ID。
◈  TLB_FRAME_ATTR:创建不同类型窗口,数值可以累加。
◈  TLB_KILL_REQUEST_EVENTS:控制相应关闭事件,如果设置该参数为 1,则在界面事件相应程序中可以根据 TAG_NAMES ( event, /STRUCTURE_NAME ) 的返回值是否为“WIDGET_KILL_REQUEST”来判断是否对组件进行了关闭操作。(WIDGET_KILL_REQUEST 必须大写,否则报错)
◈  ROW:子组件按照行的形式排列。
◈  COLUMN:子组件按照列的形式排列。
◈  MBAR:指定此关键字用来建立菜单栏,WIDGET_BUTTON 引用此变量可以建立菜单栏。
◈  EXCLUSIVE:用来建立单选按钮。
◈  NONEXLUSIVE:用来建立复选框。

◈  EVENT_PRO:事件响应时会调用指定的事件程序。
◈  EVENT_PRO:事件响应时会调用指定的事件程序。

   
04 WIDGET_CONTROL  

====<<<< Description >>>>====

过程,可实现组件控制,如组件显示、组件属性设置、属性读取和组件销毁等操作。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

WIDGET_CONTROL [, Widget_ID]

Keywords that apply to all widgets:
[, BAD_ID=variable] [, /CLEAR_EVENTS] [, DEFAULT_FONT=string{do not specify Widget_ID}] [, /DELAY_DESTROY{do not specify Widget_ID}] [, /DESTROY] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, FUNC_GET_VALUE=string] [, GET_UVALUE=variable] [, GROUP_LEADER=widget_id] [, /HOURGLASS{do not specify Widget_ID}] [, KILL_NOTIFY=string] [, /MAP] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, /REALIZE] [, /REDRAW] [, /RESET{do not specify Widget_ID}] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, SEND_EVENT=structure] [, /SENSITIVE] [, SET_UNAME=string] [, SET_UVALUE=value] [, /SHOW] [, TIMER=value] [, TLB_GET_OFFSET=variable] [, TLB_GET_SIZE=variable] [, /TLB_KILL_REQUEST_EVENTS] [, TLB_SET_TITLE=string] [, TLB_SET_XOFFSET=value] [, TLB_SET_YOFFSET=value] [, /TRACKING_EVENTS] [, UNITS={0 | 1 | 2}] [, /UPDATE] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value]

Keywords that apply to WIDGET_BASE: [, BASE_SET_TITLE=string] [, /CONTEXT_EVENTS] [, /ICONIFY] [, /KBRD_FOCUS_EVENTS] [, TAB_MODE=value] [, /TLB_ICONIFY_EVENTS] [, /TLB_KILL_REQUEST_EVENTS] [, /TLB_MOVE_EVENTS] [, /TLB_SIZE_EVENTS]

Keywords that apply to WIDGET_BUTTON:
[, /BITMAP] [, /DYNAMIC_RESIZE] [, GET_VALUE=value] [, IMAGE=byte array] [, /INPUT_FOCUS] [, /PUSHBUTTON_EVENTS] [, /SET_BUTTON] [, /SET_MASK] [, SET_VALUE=value] [, TAB_MODE=value] [, TOOLTIP=string] [, X_BITMAP_EXTRA=bits]

Keywords that apply to WIDGET_COMBOBOX: [, COMBOBOX_ADDITEM=string] [, COMBOBOX_DELETEITEM=integer] [, COMBOBOX_INDEX=integer] [, /DYNAMIC_RESIZE] [, GET_VALUE=value] [, IGNORE_ACCELERATORS={string array | {0 | 1}}] [, SET_COMBOBOX_SELECT=integer] [/SET_LIST_EVENTS][, SET_VALUE=value] [, TAB_MODE=value]

Keywords that apply to WIDGET_DRAW and WIDGET_WINDOW:
[, /DRAW_BUTTON_EVENTS] [, /DRAW_EXPOSE_EVENTS] [, DRAW_KEYBOARD_EVENTS={0 | 1 | 2}] [, /DRAW_MOTION_EVENTS] [, /DRAW_VIEWPORT_EVENTS] [, /DRAW_WHEEL_EVENTS] [, DRAW_XSIZE=integer] [, DRAW_YSIZE=integer] [, GET_DRAW_VIEW=variable] [, GET_UVALUE=variable] [, GET_VALUE=variable] [, IGNORE_ACCELERATORS={string array | {0 | 1}}] [, /INPUT_FOCUS] [, SET_DRAG_NOTIFY=string] [, SET_DRAW_VIEW=[x, y]] [, /SET_DROP_EVENTS] [, TOOLTIP=string]

Keywords that apply to WIDGET_DROPLIST: [, /DYNAMIC_RESIZE] [, GET_VALUE=variable] [, SET_DROPLIST_SELECT=integer] [, SET_VALUE=value] [, TAB_MODE=value]

Keywords that apply to WIDGET_LABEL: [, /DYNAMIC_RESIZE] [, GET_VALUE=value] [, SET_VALUE=value]

Keywords that apply to WIDGET_LIST: [, /CONTEXT_EVENTS] [, SET_LIST_SELECT=value] [, SET_LIST_TOP=integer] [, SET_VALUE=value] [, TAB_MODE=value]

Keywords that apply to WIDGET_PROPERTYSHEET: [, /CONTEXT_EVENTS] [, /EDITABLE] [, GET_VALUE=variable] [, /HIDE_ADVANCED_ONLY] [, IGNORE_ACCELERATORS={string array | {0 | 1}}] [, /MULTIPLE_PROPERTIES] [, PROPERTYSHEET_SETSELECTED=empty string, string, or array of strings] [, REFRESH_PROPERTY=string, array of strings, or integer] [, SET_VALUE=value]

Keywords that apply to WIDGET_SLIDER: [, GET_VALUE=value] [, SET_SLIDER_MAX=value] [, SET_SLIDER_MIN=value] [, SET_VALUE=value][, TAB_MODE=value]

Keywords that apply to WIDGET_TAB: [, SET_TAB_CURRENT=index] [, SET_TAB_MULTILINE=value] [, TAB_MODE=value]

Keywords that apply to WIDGET_TABLE:
[, ALIGNMENT={0 | 1 | 2}] [, /ALL_TABLE_EVENTS] [, AM_PM=[stringstring]] [, BACKGROUND_COLOR=array] [, COLUMN_LABELS=string array] [, COLUMN_WIDTHS=array] [, /CONTEXT_EVENTS] [, DAYS_OF_WEEK=string_array{7 names}] [, /DELETE_COLUMNS{not for row_major mode}] [, /DELETE_ROWS{not for column_major mode}] [, /EDITABLE] [, EDIT_CELL=[integer, integer]] [, FONT=string array] [, FOREGROUND_COLOR=array] [, FORMAT=value] [, GET_VALUE=variable] [, IGNORE_ACCELERATORS={string array | {0 | 1}}] [, INSERT_COLUMNS=value] [, INSERT_ROWS=value] [, /KBRD_FOCUS_EVENTS] [, MONTHS=string_array{12 names}] [, ROW_LABELS=string array] [, ROW_HEIGHTS=array] [, SET_TABLE_SELECT=[left, top, right, bottom]] [, SET_TABLE_VIEW=[integer, integer]] [, SET_TEXT_SELECT=[integer, integer]] [, SET_VALUE=value] [, TAB_MODE=value] [, TABLE_BLANK=cells] [, /TABLE_DISJOINT_SELECTION] [, TABLE_XSIZE=columns] [, TABLE_YSIZE=rows] [, /USE_TABLE_SELECT | , USE_TABLE_SELECT=[left, top, right, bottom]] [, /USE_TEXT_SELECT]

Keywords that apply to WIDGET_TEXT: [, /ALL_TEXT_EVENTS] [, /APPEND] [, /CONTEXT_EVENTS] [, /EDITABLE] [, GET_VALUE=variable] [, IGNORE_ACCELERATORS={string array | {0 | 1}}] [, /INPUT_FOCUS] [, /KBRD_FOCUS_EVENTS] [, /NO_NEWLINE] [, SET_TEXT_SELECT=[integer, integer]] [, SET_TEXT_TOP_LINE=line_number] [, SET_VALUE=value] [, TAB_MODE=value] [, /USE_TEXT_SELECT]

Keywords that apply to WIDGET_TREE: [, /CONTEXT_EVENTS] [, GET_VALUE=variable] [, SET_DRAG_NOTIFY=string] [, /SET_DRAGGABLE] [, /SET_DROP_EVENTS] [, /SET_MASK] [, SET_TREE_BITMAP=array] [, SET_TREE_CHECKED=value] [, /SET_TREE_EXPANDED] [, SET_TREE_INDEX=value] [, SET_TREE_SELECT={0 | 1 | widget ID | array of widget IDs}] [, /SET_TREE_VISIBLE] [, SET_VALUE=value] [, TAB_MODE=value] [, TOOLTIP=string]

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  REALIZE:【全部】界面例示。
◈  SET_UVALUE:设置组件的 uvalue。
◈  GET_UVALUE:获得组件的 uvalue。
◈  HOURGLASS:等待时鼠标显示为沙漏。
◈  SCR_XSIZE:组件的屏幕宽度。
◈  SCR_YSIZE:组件的屏幕高度。
◈  NO_COPY:【全部】设置后不复制数据到内存中,减少消耗。

   
05 WIDGET_INFO  

====<<<< Description >>>>====

可获得已经存在组件的信息。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_INFO( [Widget_ID] )

Keywords that apply to all widgets:
[, /
ACTIVE]
[, /ALL_CHILDREN]
[, /CHILD] [, /DISPLAY] [, /EVENT_FUNC]
[, /EVENT_PRO]
[, FIND_BY_UNAME=string]
[, /FONTNAME]
[, /FUNC_GET_VALUE]
[, /GEOMETRY]
[, /KBRD_FOCUS_EVENTS]
[, /MANAGED]
[, /MAP]
[, /N_CHILDREN]
[, /NAME]
[, /PARENT]
[, /PRO_SET_VALUE]
[, /REALIZED]
[, /SENSITIVE]
[, /SIBLING]
[, STRING_SIZE={string | [stringfont]}]
[, /SYSTEM_COLORS]
[, /TAB_MODE]
[, /TRACKING_EVENTS]
[, /TYPE]
[, UNITS={0 | 1 | 2}]
[, /UNAME]
[, /UPDATE]
[, /VALID_ID]
[, /VERSION]
[, /VISIBLE]

Keywords that apply to WIDGET_BASE:
[, /CONTEXT_EVENTS]
[, /MODAL]
[, /TLB_ICONIFY_EVENTS]
[, /TLB_KILL_REQUEST_EVENTS]
[, /TLB_MOVE_EVENTS]
[, /TLB_SIZE_EVENTS]

Keywords that apply to WIDGET_BUTTON: [, /BUTTON_SET] [, /DYNAMIC_RESIZE] [, /MASK] [, /PUSHBUTTON_EVENTS] [, /TOOLTIP]

Keywords that apply to WIDGET_COMBOBOX: [, /COMBOBOX_GETTEXT] [, /COMBOBOX_NUMBER] [, /DYNAMIC_RESIZE] [, /LIST_EVENTS]

Keywords that apply to WIDGET_DRAW and WIDGET_WINDOW:
[, /DRAG_NOTIFY] [, /DRAW_BUTTON_EVENTS] [, /DRAW_EXPOSE_EVENTS] [, DRAW_KEYBOARD_EVENTS={0 | 1 | 2}] [, /DRAW_MOTION_EVENTS] [, /DRAW_VIEWPORT_EVENTS] [, /DRAW_WHEEL_EVENTS] [, /DROP_EVENTS] [, /TOOLTIP]

Keywords that apply to WIDGET_DROPLIST: [, /DROPLIST_NUMBER] [, /DROPLIST_SELECT] [, /DYNAMIC_RESIZE]

Keywords that apply to WIDGET_LABEL: [, /DYNAMIC_RESIZE]

Keywords that apply to WIDGET_LIST: [, /CONTEXT_EVENTS] [, /LIST_MULTIPLE] [, /LIST_NUMBER] [, /LIST_NUM_VISIBLE] [, /LIST_SELECT] [, /LIST_TOP]

Keywords that apply to WIDGET_PROPERTYSHEET: [, /CONTEXT_EVENTS] [, COMPONENT=objref] [, /MULTIPLE_PROPERTIES] [, PROPERTY_VALID=string] [, PROPERTY_VALUE=string] [, /PROPERTYSHEET_NSELECTED] [, /PROPERTYSHEET_SELECTED]

Keywords that apply to WIDGET_SLIDER: [, /SLIDER_MIN_MAX]

Keywords that apply to WIDGET_TAB:
[, /TAB_CURRENT] [, /TAB_MULTILINE] [, /TAB_NUMBER]

Keywords that apply to WIDGET_TABLE: [, /COLUMN_WIDTHS] [, /CONTEXT_EVENTS] [, /ROW_HEIGHTS] [, /TABLE_ALL_EVENTS] [, /TABLE_BACKGROUND_COLOR] [, /TABLE_DISJOINT_SELECTION] [, /TABLE_EDITABLE] [, /TABLE_EDIT_CELL] [, /TABLE_FONT] [. /TABLE_FOREGROUND_COLOR] [, /TABLE_SELECT] [, /TABLE_VIEW] [, /TEXT_SELECT] [, /USE_TABLE_SELECT]

Keywords that apply to WIDGET_TEXT: [, /CONTEXT_EVENTS] [, /TEXT_ALL_EVENTS] [, /TEXT_EDITABLE] [, /TEXT_NUMBER] [, TEXT_OFFSET_TO_XY=integer] [, /TEXT_SELECT] [, /TEXT_TOP_LINE] [, TEXT_XY_TO_OFFSET=[column, line]]

Keywords that apply to WIDGET_TREE: [, /CONTEXT_EVENTS] [, /DRAG_NOTIFY] [, /DRAGGABLE] [, /DROP_EVENTS] [, /MASK] [, /TOOLTIP] [, /TREE_BITMAP] [, /TREE_CHECKBOX] [, /TREE_CHECKED] [, /TREE_DRAG_SELECT] [, /TREE_EXPANDED] [, /TREE_FOLDER] [, /TREE_INDEX] [, /TREE_ROOT] [, /TREE_SELECT]

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为给定组件 ID 的指定信息。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  GEOMETRY:设置组件的位置偏移和大小信息。
◈  PARENT:获得组件的父组件。
◈  CHILD:获得组件的孩子组件。
◈  UNAME:获得组件的 uname。
◈  VALID_ID:组件是否有效。
◈  FIND_BY_UNAME:通过 uname 查找组件。

   
 06 WIDGET_BUTTON  

====<<<< Description >>>>====

按钮。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_BUTTON( Parent [, ACCELERATOR=string] [, /ALIGN_CENTER | , /ALIGN_LEFT | , /ALIGN_RIGHT] [, /BITMAP] [, /CHECKED_MENU] [, /DYNAMIC_RESIZE] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, /FLAT] [, FONT=string] [, FRAME=width] [, FUNC_GET_VALUE=string] [, GROUP_LEADER=widget_id] [, /HELP] [, IMAGE=byte array] [, KILL_NOTIFY=string] [, /MASK] [, /MENU] [, /NO_COPY] [, /NO_RELEASE] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, /PUSHBUTTON_EVENTS] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, /SENSITIVE] [, /SEPARATOR] [, TAB_MODE=value] [, TOOLTIP=string] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS={0 | 1 | 2}] [, UVALUE=value] [, VALUE=value] [, X_BITMAP_EXTRA=bits] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value] )

X Windows Keywords:
[, RESOURCE_NAME=string]

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为新创建按钮的组件 ID。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Parent:新建按钮组件的父组件 ID。
◈  TOOLTIP:鼠标在按钮上悬停时所显示的文字。不要用双引号,要用单引号,否则会出错。
◈  VALUE:不同类型不同的显示方式,有下面几种
  字符串:显示为文字;
  n x m 字节型数组:显示为黑白图片;
  n x m x 3 字节型数组:显示成 24 位真彩色图片;
  Bitmap 控制是否显示成图标型按钮。
◈  BITMAP:指向一个 .bmp 文件,文件存在于 .pro 相同文件夹即可调用。
◈  MENU:创建菜单按钮,用来创建多级菜单(主菜单通过 WIDGET_BASE 的 MBAR 关键字建立)。
◈  SEPARATOR:菜单之间的分割线,加在菜单项上面。
◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。
◈  FONT:显示的字体,例如:font='Courier New'。

   
07 WIDGET_LABEL  

====<<<< Description >>>>====

标签组件,用来创建字符串标签。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_LABEL( Parent [, /ALIGN_CENTER | , /ALIGN_LEFT | , /ALIGN_RIGHT] [, /DYNAMIC_RESIZE] [, FONT=string] [, FRAME=width] [, FUNC_GET_VALUE=string] [, GROUP_LEADER=widget_id] [, KILL_NOTIFY=string] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, RESOURCE_NAME=string] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, /SENSITIVE] [, /SUNKEN_FRAME] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS={0 | 1 | 2}] [, UVALUE=value] [, VALUE=value] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为新创建标签的组件 ID。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Parent:新建标签组件的父组件 ID。
◈  VALUE:组件上显示的字符串,需换行显示可在字符串中间用 String(13b) 分隔。
◈  FRAME:字符串外围边框宽度,为 0 则不显示。
◈  FONT:显示的字体,例如:font='Courier New'。

◈  MENU:创建菜单按钮,用来创建多级菜单。
◈  SEPARATOR:菜单之间的分割线,加在菜单项上面。
◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。

   
08 WIDGET_LIST  

====<<<< Description >>>>====

列表组件,用来创建列选择组件。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_LIST( Parent [, /CONTEXT_EVENTS] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, FONT=string] [, FRAME=width] [, FUNC_GET_VALUE=string] [, GROUP_LEADER=widget_id] [, KILL_NOTIFY=string] [, /MULTIPLE] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, RESOURCE_NAME=string] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, /SENSITIVE] [, TAB_MODE=value] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS={0 | 1 | 2}] [, UVALUE=value] [, VALUE=value] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为新创建列表的组件 ID。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Parent:新建列表组件的父组件 ID。
◈  VALUE:List 组件显示的字符串或字符串数组。
◈  MULTIPLE:组件列表可以多选。

◈  FONT:显示的字体,例如:font='Courier New'。
◈  SEPARATOR:菜单之间的分割线,加在菜单项上面。
◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。

   
09 WIDGET_DROPLIST  

====<<<< Description >>>>====

下拉列表组件,与 WIDGET_LIST 组件类似,可以创建下拉列表。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_DROPLIST( Parent [, /DYNAMIC_RESIZE] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, /FLAT] [, FONT=string] [, FRAME=value] [, FUNC_GET_VALUE=string] [, GROUP_LEADER=widget_id] [, KILL_NOTIFY=string] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, RESOURCE_NAME=string] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, /SENSITIVE] [, TAB_MODE=value] [, TITLE=string] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS={0 | 1 | 2}] [, UVALUE=value] [, VALUE=value] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为新创建下拉列表的组件 ID。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Parent:新建下拉列表组件的父组件 ID。
◈  VALUE:List 组件显示的字符串或字符串数组。
◈  FONT:显示的字体,例如:font='Courier New'。

◈  SEPARATOR:菜单之间的分割线,加在菜单项上面。
◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。

   
10 WIDGET_SLIDER  

====<<<< Description >>>>====

滑动条组件,用来创建滑动条,滑动条可以交互获取或者设置指定范围内的整数值。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_SLIDER( Parent [, /DRAG] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, FONT=string] [, FRAME=width] [, FUNC_GET_VALUE=string] [, GROUP_LEADER=widget_id] [, KILL_NOTIFY=string] [, MAXIMUM=value] [, MINIMUM=value] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, RESOURCE_NAME=string] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, SCROLL=units] [, /SENSITIVE] [, /SUPPRESS_VALUE] [, TAB_MODE=value] [, TITLE=string] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS={0 | 1 | 2}] [, UVALUE=value] [, VALUE=value] [, /VERTICAL] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为新创建滑动条的组件 ID。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Parent:新建滑动条组件的父组件 ID。
◈  VALUE:滑动条默认值,整数。
◈  MAXIMUM:滑动条范围的最大值。
◈  MINIMUM:滑动条范围的最小值。
◈  SCROLL:滑动条的滑动步长,默认值为 (Maximum - Minimum) * 0.1。

◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。

   
11 WIDGET_TREE  

====<<<< Description >>>>====

树组件,用来创建属性列表组件。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

Result = WIDGET_TREE( Parent [, /ALIGN_BOTTOM | , /ALIGN_CENTER | , /ALIGN_LEFT | , /ALIGN_RIGHT | ,  /ALIGN_TOP] [, BITMAP=array] [, /CHECKBOX] [, CHECKED=value] [, /CONTEXT_EVENTS] [, DRAG_NOTIFY=string] [, /DRAGGABLE] [, /DROP_EVENTS] [, EVENT_FUNC=string] [, EVENT_PRO=string] [, /EXPANDED] [, /FOLDER] [, FUNC_GET_VALUE=string] [, GROUP_LEADER=widget_id] [, INDEX=value] [, KILL_NOTIFY=string] [, /MASK] [, /MULTIPLE] [, /NO_BITMAPS] [, /NO_COPY] [, NOTIFY_REALIZE=string] [, PRO_SET_VALUE=string] [, SCR_XSIZE=width] [, SCR_YSIZE=height] [, /SENSITIVE] [, TAB_MODE=value] [, TOOLTIP=string] [, /TRACKING_EVENTS] [, UNAME=string] [, UNITS={0 | 1 | 2}] [, UVALUE=value] [, VALUE=string] [, XOFFSET=value] [, XSIZE=value] [, YOFFSET=value] [, YSIZE=value] )

----------------------------------------------------------------------------------

====<<<< Return Value >>>>====

返回值为新创建树形列表的组件 ID。

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Parent:新建属性列表组件的父组件 ID。
◈  VALUE:是 tree 的节点显示的名称。
◈  FOLDER:设为 1 时,当前节点是文件夹节点(树枝),可包含叶子节点。
◈  EXPANDED:设为 1 时,可对文件夹节点进行展开、折叠控制。

◈  SCROLL:滑动条的滑动步长,默认值为 (Maximum - Minimum) * 0.1。
◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。

   
  XMANAGER  

====<<<< Description >>>>====

组件创建成功后,用 XMANAGER 来处理产生的事件并调用事件响应程序。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

XMANAGER [, Name, ID] [, /CATCH] [, CLEANUP=string] [, EVENT_HANDLER=‘procedure_name’] [, GROUP_LEADER=widget_id] [, /JUST_REG] [, /NO_BLOCK]

----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  Name:字符串,用主文件名。
◈  ID:组件的标识 ID,例如:tlb。
◈  EVENT_HANDLER:指定时间响应程序名,如果未指定,则默认响应程序名称是 Name + "_EVENT"。
◈  NO_BLOCK:控制程序运行过程中是否进行屏蔽命令行。

◈  SCROLL:滑动条的滑动步长,默认值为 (Maximum - Minimum) * 0.1。
◈  复选或单选:由按钮父组件 WIDGET_BASE 中 EXCLUSIVE 和 NONEXCLUSIVE 关键字控制。

   
  PROGRAM_EVENT  

====<<<< Description >>>>====

事件响应程序是一个 pro 程序,启动事件响应后,一旦有事件处理操作,系统会自动调用该事件程序并传递组件事件结构体。
----------------------------------------------------------------------------------

====<<<< Syntax >>>>====

PRO PROGRAM_EVENT , var
----------------------------------------------------------------------------------

====<<<< Parameters >>>>====

◈  PROGRAM:指定的程序名称。
◈  var:事件结构体变量,一般习惯西城 event 或 ev。结构体中包含组件的相关信息,通用成员变量有 ID、Top 和 Handler 三个,均为长整型变量。
  ID:事件过程中组件的唯一标识符;
  Top:组件层次结构中顶级的 base 的标识;
  Handler:与事件响应组件的标识。
注意:界面程序事件中,有时需要根据组件名称或事件类型对事件进行响应处理。通过 WIDGET_INFO 来获取。

   

【221】◀▶ IDL GUI 函数说明的更多相关文章

  1. IDL Interpolate()函数

    Interpolate()函数:可以将数组调整到同维任意大小,并支持任意定位差值.调用格式为 Interpolate(数组,X[,Y[,Z]][,关键字]) 例子: IDL> arr=findg ...

  2. 【299】◀▶ IDL - LIST 函数

    list 函数用来创建一个新的 list.list 可以包含不同的数据类型,包括数据.数组.结构体.指针.对象以及其他的 list 或者 哈希表. 序号 类名称   功能说明   语法 & 举 ...

  3. 【219】◀▶ IDL 数学函数说明

    参考:Math - Miscellaneous Routines参考:Math - Statistical Tools Routines 01   ABS 绝对值. 02   SQRT 平方根. 03 ...

  4. 【297】IDL 过程、函数&关键字参数

    目录: 一.Procedure 1.1 基本说明&定义 1.2 关键字参数 二.Function 2.1 基本说明&定义 2.2 关键字参数 参考:IDL中函数中的带有关键字的参数的使 ...

  5. Matlab的GUI参数传递方式总结

    MATLAB GUI传递方式 1.全局变量: 2.作为函数的参数传递: 3.利用控件的userdata数据: 4.为handles结构体添加新字段: 5.setappdata函数为句柄添加数据: 6. ...

  6. MATLAB中文论坛帖子整理(GUI)

    MATLAB中文论坛帖子整理(GUI) 目   录  1.GUI新手之——教你读懂GUI的M文件... 10 2.GUI程序中改变current directory引起的问题... 15 3.GUI中 ...

  7. IDL 实现 EOF(经验正交函数分析)

    关于EOF详细介绍请wiki http://en.wikipedia.org/wiki/Empirical_orthogonal_functions或者Google之. 与PCA一样,EOF也是遥感多 ...

  8. IDL 字符串

    1.创建字符串 字符串和字符串数组通过赋值或函数方式来创建.在IDL字符串用" "或' '括起来表示. IDL> s1="abcdef" IDL> ...

  9. OpenCV图像处理篇之阈值操作函数

    阈值操作类型 这5种阈值操作类型保留opencv tutorials中的英文名称.依次为: Threshold Binary:即二值化,将大于阈值的灰度值设为最大灰度值.小于阈值的值设为0. Thre ...

随机推荐

  1. Cocos2d-x 3.1.1 学习日志5--cocos2d-x3.1.1打飞机的实现

    近期学习了cocos2dx3.1.1的一些功能,认为和曾经版本号改的太多了. 所以就做了一个小项目--打飞机来练习练习,在这里我仅仅讲飞机实现的步骤,至于代码.回复5次就可以获得coco2d-x3.1 ...

  2. C语言-回溯例2

    组合问题 组合:从n个不同元素中取r个不重复的元素组成一个子集,而不考虑其元素的顺序,称为从n个中取r个的无重组合,例如OR = {1,2,3,4}, n = 4, r = 3则无重组合为: {1,2 ...

  3. CrtmpServr 接收Http流程

    最近在研究CrtmpServer http部分,记录一些基本的流程,以备查阅. 首先,打开配置脚本CrtmpServer.lua ,确认脚本中有以下内容,如果没有需要加上. { name=" ...

  4. Cadence SPB 16. 6 安装步骤

    1.首先下载Cadence Allegro SPB orCAD16. 6 安装包,单击我,下载之后运行其中的setup.exe,然后先安装第一项License Manager

  5. 关于angular JS 中$timeOut 的一些不正常情况下的$destory

    最近项目中存在的问题头疼脑热了好一会. 我先简单说明下问题是由,使用$timeOut循环调用的时候由于页面存在异步加载会出现反复执行循环反复调用$timeOut,怎么清除跳出循环都不管用.于是查到了如 ...

  6. Spring与JDK版本不一致引发问题Caused by: java.lang.IllegalArgumentException

    tomcat启动一个spring的项目,tomcat使用8.5,JDK使用1.8,Spring使用3.0,启动之后报错 Caused by: java.lang.IllegalArgumentExce ...

  7. ContentPresenter理解

    这是2年前写了一篇文章 http://www.cnblogs.com/Clingingboy/archive/2008/07/03/wpfcustomcontrolpart-1.html 我们先来看M ...

  8. n&(n-1)的妙用

    今天无聊拿起<编程之美>看了下,发现原来n&(n-1)还有很多妙用.n&(n-1)作用:将n的二进制表示中的最低位为1的改为0,先看一个简单的例子:n = 10100(二进 ...

  9. input光标位置

    兼容谷歌火狐-input光标位置 input框在没有添加任何效果的情况下,输入文字后光标始终在最后的位置,谷歌||火狐效果一样 但是在给input加入点击事件后 谷歌:input框插入文字后,光标会自 ...

  10. 小程序 富文本 的页面展示 json 数据处理 go-echo 为小程序提供feed流服务

    go生成页面 返回给web-view {{define "DBHtmlCode"}} <!DOCTYPE html> <html lang="zh-cm ...