- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以下代码做了一个多组件界面,
但是单击、滚轮、关闭等响应程序没有写,
这些程序会续在后面的楼层
pro widget_examlples
;用中文会出现乱码,但书中就没有,不知问题在哪!?
;创建base,column表示按行排列
base1=widget_base(title='examples',mbar=mbar,uname='tlb',$
/column,$
;重设置大小时产生事件
/tlb_size_events,$
;关闭时产生事件
/tlb_kill_request_events)
;------------------------
;创建系统菜单,/separator表示分割线
wfile=widget_button(mbar,value='file(&F)')
wopen=widget_button(wfile,value='open(&O)')
wexit=widget_button(wfile,value='exit(&E)',/separator)
;创建一个按钮
base2=widget_base(base1,/row)
label1=widget_label(base2,value='current issue')
text1=widget_text(base2,xsize=10)
button=widget_button(base2,value='button',uname='button')
mydraw=widget_draw(base1,retain=1,xsize=400,ysize=400,$
;滚轮产生事件
/wheel_events,$
;单击产生事件
/button_events,$
;前置时产生事件
/expose_events,$
;鼠标移动产生事件
/motion_events,$
;敲键盘产生事件
/keyboard_events,$
uname='mydraw')
;显示界面
widget_control,base1,/realize
;创建右键菜单
contextbase=widget_base(mydraw,/context_menu)
;创建菜单选项
button1=widget_button(contextbase,value='menu1',uname='contextbutton1')
button2=widget_button(contextbase,value='menu2',uname='contextbutton2')
;下面画个图
;获取系统初始化颜色模式
device,get_decomposed=orid
;显示伪彩色图像
device,decomposed=0
;载入色条
loadct,23
;显示图形
imgdata=dist(400)
tvscl,imgdata
end
界面中图是直接图形法做的,用了widget_draw,如果把画图部分替换为:
contour,dist(400),/fill,则
直接图形法绘图都会自动出现在组件中,
而快速可视化和智能化编程只会另行弹窗,
widget_draw看来只支持直接图形法
|
|