Adobe ScriptUI中选项卡式面板子级的手动布局

Adobe ScriptUI中选项卡式面板子级的手动布局,adobe,extendscript,after-effects,adobe-scriptui,Adobe,Extendscript,After Effects,Adobe Scriptui,我正在用ExtendScript编写脚本,需要在选项卡内的面板上有大量复选框,我无法将面板拆分为组,因为我需要获取组的length属性。 我想知道是否有人在试图在ScriptUI中使用带选项卡面板的手动布局时遇到过问题。 有没有办法手动对齐选项卡面板的子级? 下面是一个没有选项卡的示例: function MakeaPanel(this_obj_) { var pan = (this_obj_ instanceof Panel) ? this_obj_ : new Window('pale

我正在用ExtendScript编写脚本,需要在选项卡内的面板上有大量复选框,我无法将面板拆分为组,因为我需要获取组的length属性。 我想知道是否有人在试图在ScriptUI中使用带选项卡面板的手动布局时遇到过问题。 有没有办法手动对齐选项卡面板的子级? 下面是一个没有选项卡的示例:

function MakeaPanel(this_obj_) { 
var pan = (this_obj_ instanceof Panel) 
? this_obj_ 
: new Window('palette', 'MainWindow',[449,210,831,576]); 

        CheckBGroup = pan.add('panel', [33,46,350,145], 'CheckBoxGroup', {borderStyle: "etched"}); 
        ChkBox_1 = CheckBGroup.add('checkbox', [18,21,162,41], 'CheckBox1'); 
        ChkBox_1.value = false; 
        ChkBox_2 = CheckBGroup.add('checkbox', [18,43,162,63], 'CheckBox2'); 
        ChkBox_2.value = false; 
        ChkBox_3 = CheckBGroup.add('checkbox', [142,21,286,41], 'CheckBox3'); 
        ChkBox_3.value = false; 
        ChkBox_4 = CheckBGroup.add('checkbox', [142,43,286,63], 'CheckBox4'); 
        ChkBox_4.value = false; 

        return pan 
    } 
var w = MakeaPanel(this); 
if (w.toString() == "[object Panel]") { 
w; 
} else { 
w.show(); 
    }
function MakeaPanel(this_obj_) { 
var pan = (this_obj_ instanceof Panel) 
? this_obj_ 
: new Window('palette', 'MainWindow', undefined); //  [449,210,831,576]

                var tpanel = pan.add ("tabbedpanel");
                var MainTab = tpanel.add ("tab", undefined, "Main");                
                var OptionsTab = tpanel.add ("tab", undefined, "Options");
                var OT_Panel = OptionsTab.add ("panel", undefined, "");

        CheckBGroup = MainTab.add('panel', [33,46,350,200], 'CheckBoxGroup', {borderStyle: "etched"}); 
        ChkBox_1 = CheckBGroup.add('checkbox', [18,21,162,41], 'CheckBox1'); 
        ChkBox_1.value = false; 
        ChkBox_2 = CheckBGroup.add('checkbox', [18,43,162,63], 'CheckBox2'); 
        ChkBox_2.value = false; 
        ChkBox_3 = CheckBGroup.add('checkbox', [142,21,286,41], 'CheckBox3'); 
        ChkBox_3.value = false; 
        ChkBox_4 = CheckBGroup.add('checkbox', [142,43,286,63], 'CheckBox4'); 
        ChkBox_4.value = false; 

        return pan 
    } 
var w = MakeaPanel(this); 
if (w.toString() == "[object Panel]") { 
w; 
} else { 
w.show(); 
    }   
下面是一个带有选项卡的示例:

function MakeaPanel(this_obj_) { 
var pan = (this_obj_ instanceof Panel) 
? this_obj_ 
: new Window('palette', 'MainWindow',[449,210,831,576]); 

        CheckBGroup = pan.add('panel', [33,46,350,145], 'CheckBoxGroup', {borderStyle: "etched"}); 
        ChkBox_1 = CheckBGroup.add('checkbox', [18,21,162,41], 'CheckBox1'); 
        ChkBox_1.value = false; 
        ChkBox_2 = CheckBGroup.add('checkbox', [18,43,162,63], 'CheckBox2'); 
        ChkBox_2.value = false; 
        ChkBox_3 = CheckBGroup.add('checkbox', [142,21,286,41], 'CheckBox3'); 
        ChkBox_3.value = false; 
        ChkBox_4 = CheckBGroup.add('checkbox', [142,43,286,63], 'CheckBox4'); 
        ChkBox_4.value = false; 

        return pan 
    } 
var w = MakeaPanel(this); 
if (w.toString() == "[object Panel]") { 
w; 
} else { 
w.show(); 
    }
function MakeaPanel(this_obj_) { 
var pan = (this_obj_ instanceof Panel) 
? this_obj_ 
: new Window('palette', 'MainWindow', undefined); //  [449,210,831,576]

                var tpanel = pan.add ("tabbedpanel");
                var MainTab = tpanel.add ("tab", undefined, "Main");                
                var OptionsTab = tpanel.add ("tab", undefined, "Options");
                var OT_Panel = OptionsTab.add ("panel", undefined, "");

        CheckBGroup = MainTab.add('panel', [33,46,350,200], 'CheckBoxGroup', {borderStyle: "etched"}); 
        ChkBox_1 = CheckBGroup.add('checkbox', [18,21,162,41], 'CheckBox1'); 
        ChkBox_1.value = false; 
        ChkBox_2 = CheckBGroup.add('checkbox', [18,43,162,63], 'CheckBox2'); 
        ChkBox_2.value = false; 
        ChkBox_3 = CheckBGroup.add('checkbox', [142,21,286,41], 'CheckBox3'); 
        ChkBox_3.value = false; 
        ChkBox_4 = CheckBGroup.add('checkbox', [142,43,286,63], 'CheckBox4'); 
        ChkBox_4.value = false; 

        return pan 
    } 
var w = MakeaPanel(this); 
if (w.toString() == "[object Panel]") { 
w; 
} else { 
w.show(); 
    }   

无法直接提供帮助,但到底是什么阻止您将选项卡拆分为多个组?很抱歉,响应太晚。我可以拆分选项卡,但无法拆分复选框所在的面板,因为我正在使用一些循环来迭代“复选框面板”,以便在“GroupName.children.length”给出计数后生成新的层和任务。顺便说一句,图片中的代码只是一个测试,我一直在使用它来确定为什么我的代码不起作用(超过3000行,在这里发布会让人困惑)。