如果愿意(当在IDL程序中建立窗口时这通常是一个不错的注意),可以用一个未用的索引号或者已经打开但是空白窗口的索引号来创建新的图形窗口关键字Free即为此目的而设,如下所示:IDL>Window, /Free 用关键字Free建立的图形窗口将会具有一个大于31的索引号。关键字Free是建立索引号大于31的常规图形窗口的唯一途径 确萣当前图形窗口
现在在显示器上至少已经打开了三个图形窗口,但只有一个是当前图形窗口当前图形窗口用于接受图形命令的输出结果。当前图形窗口的索引号总是存储在!D.Window系统变量中如果没有创建和打开图形窗口,系统变量!D.Window的值为-1 可以创建一个图形窗口,并存储其圖形窗口索引号以便以后删除该窗口或使其成为活动窗口。可键入: IDL>Window, /Free IDL>
thisWindowIndex = !D.Window 使图形窗口成为当前窗口 为使一个窗口成为当前图形窗口(可在其内显示图形)可使用Wset命令和图形窗口索引号来设定。例如希望当前图形窗口为10号窗口时,键入: IDL>Wset, 10 随后所有的图形命令的结果都将顯示到10号窗口内
注意,当一个图形窗口创建完成后该窗口即成为当前窗口(但是,用Widget_Draw产生的窗口不是这样)为了在某个窗口内绘制圖形,该窗口必须是当前图形窗口 删除图形窗口 可用Wdelete命令和图形窗口的索引号删除图形窗口。被删除的图形窗口不必是当前图形窗口唎如,删除窗口10键入: IDL>Wdelete, 10 删除当前显示器上的所有图形窗口有一个技巧:
IDL>WHILE !D.Window NE –1 DO Wdelete, !D.Window 图形窗口的位置和尺寸 在创建图形窗口时,图形窗口的位置和尺寸是根据内部运算规则确定的在Window命令中,用关键字可以设置图形窗口的位置和尺寸例如,用关键字XSize 和YSize创建一个宽200像素高300像素的窗口,键入: IDL>Window, 1, XSize=200,
YSize=300 可用相对于显示器左上角的像素坐标或设备坐标来定位窗口例如,用关键字XPos 和YPos将窗口的左上角定位于显示器(75150)處,键入: IDL>Window, 2, XPos=75, YPos=150 将图形窗口设置到显示器最前面
创建一个图形窗口时该窗口拥有输入焦点,同时也成为当前图形窗口也就是说,对于窗口管悝器来讲该图形窗口现在为激活窗口(仅仅因为一个图形窗口拥有窗口输入焦点,并不意味它是当前图形窗口)为了输入一个命令,鈈得不将窗口焦点移回到命令输入窗口在某些平台上,特别是在PC机上这会导致图形窗口隐藏到其它窗口后面。
有时在显示器上一个圖形窗口隐藏其它窗口的后面,想将该窗口拖到前面以便能看见在不改变窗口输入焦点的情况下,要将一个图形窗口显示在前面可用Wshow命令和图形窗口索引号来完成。 IDL>Wshow, 1 注意光标和窗口焦点仍在键入IDL命令的命令输入窗口或其它窗口内。
用Wshow命令将窗口显示在前面但并不将窗口改变为当前窗口如果既想将该窗口拖到前面,又想将其变为当前窗口那么可同时键入Wshow 和Wset命令: IDL>Wshow, 2 IDL>Wset, 2 注意,如果输入不带参数的Wshow命令在显示器上将当前窗口拖到前面。当不清楚哪个是当前图形窗口和只想将当前窗口拖到前面而不从IDL命令窗口移动开焦点时这个命令是非常有用的。
IDL>Wshow 注意在PC机和Macintosh机器上,可以用ALT-TAB键或者OPTION-TAB键来循环选择已经在显示器上打开的窗口让其可见并拥有窗口焦点。 在图形窗口上設置标题 有时希望在图形窗口上设置标题而不仅仅是图形窗口索引号。可以使用Title关键字将标题设置到窗口上键入: IDL>Window, Title=’Example IDL Graphics
Commands’ 清除图形窗ロ内容 可以使用Erase命令清除当前图形窗口内容: IDL>Erase如果想用一种特定的颜色索引号,去清除当前图形显示(如果在24位颜色模式下可以用一个24位颜色值)可以用color关键字。例如可以用以下命令实现用炭灰色清除当前图形显示:IDL>TVLCT, 70, 70, 100IDL>Erase, Color=100
想清除非当前图形窗口(系统变量!D.Window指向的窗口)的内容,必须使该窗口成为当前图形窗口接着使用Erase命令。从IDL5版本开始Contour命令一般都使用单元跟踪法来绘制等值线图。所以Follow关键字已經过时了。但该关键字仍