这是illustrator中脚本ScriptUI窗口代码,供学习。里面有窗口是如何实现最大和最小化之间切换的,以及树形类型在面板中的使用演示,大家看了定能有所收获,代码如下:
function myPanel(){
var arr = [];
for(var i=33; i<123; i++){
arr.push(String.fromCharCode(i)+" ------------------ text line");
}
function tinyWindow(storeObj){
var w = new Window('palette', 'MiniPanel', undefined, {borderless: false}); w.spacing = 0; w.margins = [0,0,0,0];
w.location = storeObj.tinyWindowLocation;
var btn = w.add('button', undefined, 'Maximize');
this.show = function(){w.show();}
btn.onClick = function(){
storeObj.tinyWindowLocation = w.bounds;
var thisPaletteWindow = new paletteWindow(storeObj);
thisPaletteWindow.show();
w.close();
}
}
function paletteWindow(setupObj){
var w = new Window('palette', 'My Panel');
w.location = setupObj.bigWindowLocation;
var g1 = w.add('group');
var t = g1.add('treeview', undefined, []); t.size = [200, 450];
for(var i=0; i<arr.length; i++){
var item = arr[i];
var n = t.add('node', item);
}
var e = w.add('edittext', undefined, setupObj.edittextContents, {readonly: true}); e.characters = 19;
t.onDoubleClick = function(){
if(t.selection != null && t.selection.text != ''){
e.text = (t.selection.text);
}
};
var btn_min = w.add('button', undefined, 'Minimize');
btn_min.onClick = function(){
var thisTinyWindow = new tinyWindow({edittextContents: e.text, tinyWindowLocation: setupObj.tinyWindowLocation, bigWindowLocation: w.location});
thisTinyWindow.show();
w.close();
}
this.show = function(){w.show();}
}
var thisTinyWindow = new tinyWindow({edittextContents: '', tinyWindowLocation: [920,514], bigWindowLocation: [860, 350]});
thisTinyWindow.show();
}
myPanel();
一个 listbox 对话框
var w = new Window ("dialog");
var myList = w.add ("listbox", undefined, ["one", "two", "three"], {multiselect: true});
myList.selection=[2]
myList.onChange = function (){
alert(myList.selection);
}
w.show ();