{ CW_PDMENU_S, flags:0, name:'' },
其中name表示按钮的名字,flag表示创建按钮的形式。flag可以取0、1、2、3、4、5、6、7.。下面是IDL帮助中的一段代码和生成的菜单。
;创建结构体
desc = REPLICATE({ flags:0, name:'' }, 6)
;为结构体赋值
desc.flags = [ 1, 0, 1, 0, 2, 2 ]
desc.name = [ 'Operations', 'Predefined', 'Interpolate', $
'Linear', 'Spline', 'Quit' ]
;生成菜单
base = WIDGET_BASE()
menu = CW_PDMENU(base, desc)
WIDGET_CONTROL, base, /REALIZE
下图为生成的菜单
其中要解释flag参数,每个数值代表着不同意义:
0表示这个按钮既不是下拉菜单的开始也不是结束。
1表示这个菜单是子下拉菜单的根菜单,子按钮从下一个按钮开始
2表示这个菜单是子下拉菜单的最后一个菜单,下一个菜单将跟它的父菜单是一个层次的,即上面例子中的Spline菜单,它的下一个菜单是Quit
3表示这个按钮是子下拉菜单的根,同时它也是这个层次的最后菜单
4与0相同,只是多加了一个分隔符
5与1相同,只是多加了一个分隔符
6与2相同,只是多加了一个分隔符
7与3相同,只是多加了一个分隔符