迅速把ESTK自带的15个关于窗口的脚本分析完,去掉两个关于Flash的,然后开始写自己的脚本。
这个脚本主要就是展示怎么创建一个窗口,并添加一些简单的控件。
但是流程挺奇葩的,不管是创建对象的方式,还是显示窗口的方式,说实话真的有必要把构建窗口放在函数中吗?
主要学习下怎么创建窗口好了,注意下窗口和控件之间边界的关系。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
/* * 创建一个非常简单的非模态对话框 * 有 OK 和 Cancel 按钮行为 */ function SnpCreateDialog() { // 这个是创建了一个对象,虽然不知道定义了一个 null 属性干嘛 this.windowRef = null; } /* * 这段代码的函数部分 * 创建一个 palette 类型的(非模态)窗口并显示它 * @return True 如果这段代码正常运行,否则返回false * @type 布尔 */ // 在原型链上添加一个方法 SnpCreateDialog.prototype.run = function() { // 创建 palette 类型的窗口 var win = new Window("palette", "SnpCreateDialog", [100,100,380,245]); // bounds = [left, top, right, bottom] this.windowRef = win; // 为内容添加框架 win.btnPanel = win.add("panel", [25,15,255,130], "SnpCreateDialog"); // 添加组件:两个按钮 win.btnPanel.okBtn = win.btnPanel.add("button", [15,65,105,85], "OK"); win.btnPanel.cancelBtn = win.btnPanel.add("button", [120,65,210,85], "Cancel"); // 注册事件侦听器来定义按钮行为 win.btnPanel.okBtn.onClick = function() { // $.writeln() 函数用来在 ESTK 的 JavaScript Console 面板中输出内容 $.writeln("点击确定按钮"); win.close(); }; win.btnPanel.cancelBtn.onClick = function() { $.writeln("点击取消按钮"); win.clsoe(); }; // 显示窗口 win.show(); return true; }; /** * 主程序:构建一个匿名实例并运行 */ new SnpCreateDialog().run(); |