2

現在、JavaScriptを使用してIndesignCS6のスクリプトを開発しています。ダイアログUIのラベルに色を追加する方法を探しています。サンプルコードは次のとおりです。

var myDialog = app.dialogs.add({name:"User Interface Example Script", canCancel:true});
with(myDialog){
    //Add a dialog column.
    with(dialogColumns.add()){
        //Create a border panel.
        
        with(borderPanels.add()){
        
            with(dialogColumns.add()){
                //The following line shows how to set a property as you create an object.
                staticTexts.add({staticLabel:"Message:"});

そのラベルメッセージをカスタムカラーにするにはどうすればよいのでしょうか。

JavaScript APIの他のクラスを使用して部分的な解決策を見つけましたが、それでも上記が可能かどうかを知りたいと思います。

 var w = new Window("dialog");
var s = w.add ("statictext", undefined, "Static");
var e = w.add ("edittext", undefined, "Edit");
var b = w.add ("button", undefined, "Button");

// The window's backround
w.graphics.backgroundColor = w.graphics.newBrush (w.graphics.BrushType.SOLID_COLOR, [0.5, 0.0, 0.0]);
// Font and its colour for the first item, statictext
s.graphics.font = ScriptUI.newFont ("Helvetica", "Bold", 30);
s.graphics.foregroundColor = s.graphics.newPen (w.graphics.PenType.SOLID_COLOR, [0.7, 0.7, 0.7], 1);
// Font and colours for the second item, edittext
e.graphics.font = ScriptUI.newFont ("Letter Gothic Std", "Bold", 30);
e.graphics.foregroundColor = e.graphics.newPen (e.graphics.PenType.SOLID_COLOR, [1, 0, 0], 1);
e.graphics.backgroundColor = e.graphics.newBrush (e.graphics.BrushType.SOLID_COLOR, [0.5, 0.5, 0.5]);
// Font for the tird control, a button. Can't set colours in buttons
b.graphics.font = ScriptUI.newFont ("Minion Pro", "Italic", 30);
w.show ();
4

1 に答える 1

1

APIを見ると、静的テキスト(StaticText (SUI)および)には2つの別個のクラスがありますStaticText。最初のクラスのStaticText(SUI)は静的テキストに色を付ける機能を提供しているように見えますが、2番目のクラスのStaticTextは提供していません。

あなたの質問では、最初に表示するコードスニペットはStaticTextクラスを使用しているため、グラフィックオプション(色)は使用できません。2番目のコードサンプルはStaticText (SUI)クラスを使用しているため、色を付けることができます。

ここで、UIAPIの違いについての概要を見つけました。

したがって、質問に答えるには、ダイアログに色を追加するために、「組み込み」ダイアログクラスを使用する代わりに、ウィンドウとスクリプトUIクラス(SUI)を使用して独自のダイアログを作成する必要があります。

于 2013-01-10T01:36:35.860 に答える