テキストボックスを固定サイズにするスクリプトこんにちは、
上部のテキストのベックスが常に固定高で、その下に別のテキストボックスが異なる固定高などであるウィンドウを生成する必要があります。このように5つの異なるテキストボックスが積み重ねられます。アイデアは、ウィンドウが表示されるとき、テキストボックスがテキストの変更に関係なく常に同じ位置にあることです。
どんな助けも大歓迎です。
以下は、現在失敗しているコードです。
VALconv = 37.795275591;
VALwidth = 6*VALconv;
tb1 = Text Box(STRname);
tb1 << Set Font("Lucida Handwriting",18,"bold");
tb1 << Set Max Size(VALwidth,1.8*VALconv);
tb1 << Set Width(VALwidth);
tb1 << Set Height(1.8*VALconv);
tb1 << Set Wrap(VALwidth);
hb1 = H List Box(tb1);
hb1 << Set Max Size(VALwidth,1.8*VALconv);
hb1 << Set Min Size(VALwidth,1.8*VALconv);
tb2 = Text Box(STRch1);
tb2 << Set Font("Arial",12);
tb2 << Set Max Size(VALwidth,2*VALconv);
tb2 << Set Width(VALwidth);
tb2 << Set Height(2*VALconv);
tb2 << Set Wrap(VALwidth);
hb2 = H List Box(tb2);
hb2 << Set Max Size(VALwidth,2*VALconv);
hb2 << Set Min Size(VALwidth,2*VALconv);
tb3 = Text Box(STRch2);
tb3 << Set Font("Arial",12);
tb3 << Set Max Size(VALwidth,2*VALconv);
tb3 << Set Width(VALwidth);
tb3 << Set Height(2*VALconv);
tb3 << Set Wrap(VALwidth);
hb3 = H List Box(tb3);
hb3 << Set Max Size(VALwidth,2*VALconv);
hb3 << Set Min Size(VALwidth,2*VALconv);
tb4 = Text Box(STRch3);
tb4 << Set Font("Arial",12);
tb4 << Set Max Size(VALwidth,2*VALconv);
tb4 << Set Width(VALwidth);
tb4 << Set Height(2*VALconv);
tb4 << Set Wrap(VALwidth);
hb4 = H List Box(tb4);
hb4 << Set Max Size(VALwidth,2*VALconv);
hb4 << Set Min Size(VALwidth,2*VALconv);
tb5 = Text Box(STRtype);
tb5 << Set Font("Arial",12);
tb5 << Set Max Size(VALwidth,1*VALconv);
tb5 << Set Width(VALwidth);
tb5 << Set Height(1*VALconv);
tb5 << Set Wrap(VALwidth);
hb5 = H List Box(tb5);
hb5 << Set Max Size(VALwidth,1*VALconv);
hb5 << Set Min Size(VALwidth,2*VALconv);
NW = New Window("NW", hb1,hb2,hb3,hb4,hb5);<BR />
再:テキストボックスを固定サイズにするスクリプトこのコードが失敗する理由がわかりません。 出力をどのように表示するかを説明してください。 ところで、テキストボックスの横に何かを水平に置いていないので、これらのHリストボックスのすべては必要ありません。 幅が同じであることが心配な場合は、LINEUP BOXを使用できます。

strname = "Hello World";
strch1 = "Fubarski";
strch2 = strch1;
strch3 = strch1;
strtype = "String Type";
VALconv = 37.795275591;
VALwidth = 6*VALconv;
tb1 = Text Box(STRname);
tb1 << Set Font("Lucida Handwriting",18,"bold") << Set Max Size(VALwidth,1.8*VALconv);
tb1 << Set Width(VALwidth) << Set Height(1.8*VALconv) << Set Wrap(VALwidth);
tb2 = Text Box(STRch1);
tb2 << Set Font("Arial",12) << Set Max Size(VALwidth,2*VALconv);
tb2 << Set Width(VALwidth) << Set Height(2*VALconv) << Set Wrap(VALwidth);
tb3 = Text Box(STRch2);
tb3 << Set Font("Arial",12) << Set Max Size(VALwidth,2*VALconv);
tb3 << Set Width(VALwidth) << Set Height(2*VALconv) << Set Wrap(VALwidth);
tb4 = Text Box(STRch3);
tb4 << Set Font("Arial",12) << Set Max Size(VALwidth,2*VALconv);
tb4 << Set Width(VALwidth) << Set Height(2*VALconv) << Set Wrap(VALwidth);
tb5 = Text Box(STRtype);
tb5 << Set Font("Arial",12) << Set Max Size(VALwidth,1*VALconv);
tb5 << Set Width(VALwidth) << Set Height(1*VALconv) << Set Wrap(VALwidth);
NW = New Window("NW", lineup box(ncol(1), tb1,tb2,tb3,tb4,tb5));再:テキストボックスを固定サイズにするスクリプトすべてのテキストボックスを同じ高さにしたい場合は、各テキストボックスの横に2行のテキストボックス(2つのLF)を配置できます。 これを試して:
strname = "Hello World";
strch1 = "Fubarski";
strch2 = strch1;
strch3 = strch1;
strtype = "String Type";
VALconv = 37.795275591;
VALwidth = 6*VALconv;
tb1 = Text Box(STRname);
tb1 << Set Font("Lucida Handwriting",18,"bold") << Set Max Size(VALwidth,1.8*VALconv);
tb1 << Set Width(VALwidth) << Set Height(1.8*VALconv) << Set Wrap(VALwidth);
tb2 = Text Box(STRch1);
tb2 << Set Font("Arial",12) << Set Max Size(VALwidth,2*VALconv);
tb2 << Set Width(VALwidth) << Set Height(2*VALconv) << Set Wrap(VALwidth);
tb3 = Text Box(STRch2);
tb3 << Set Font("Arial",12) << Set Max Size(VALwidth,2*VALconv);
tb3 << Set Width(VALwidth) << Set Height(2*VALconv) << Set Wrap(VALwidth);
tb4 = Text Box(STRch3);
tb4 << Set Font("Arial",12) << Set Max Size(VALwidth,2*VALconv);
tb4 << Set Width(VALwidth) << Set Height(2*VALconv) << Set Wrap(VALwidth);
tb5 = Text Box(STRtype);
tb5 << Set Font("Arial",12) << Set Max Size(VALwidth,1*VALconv);
tb5 << Set Width(VALwidth) << Set Height(1*VALconv) << Set Wrap(VALwidth);
tb0 = text box("
");
NW = New Window("NW", lineup box(ncol(2), tb1, tb0, tb2, tb0, tb3, tb0, tb4, tb0, tb5, tb0));再:テキストボックスを固定サイズにするスクリプト申し訳ありませんが、より具体的で曖昧さを軽減する必要がありました。
私は常にこの画像のように正確なレイアウトを取得しようとしています。必要な「空白」があるため、テキスト1が短い場合などはテキスト2が常に1.8cmから始まります。
VALconvは、クイックgoogleのピクセルからcmへの変換率であると私は信じています。
将来のイテレーションでは、固定サイズ(たとえば1.8cm x 6cm)の「ボックス」内にテキストと画像を混在させたいかもしれませんが、最初はHリストボックスでしたが、これは必須ではなく、私の主な目標は、最初にプレーンテキストで動作するようにすることです。
再:テキストボックスを固定サイズにするスクリプトTextBoxで使用可能な固定サイズメッセージがあります。 おそらく、以下のようなものがあなたのために働くでしょう。注:TextBoxのサイズをより明確に確認できるように、BorderBoxを追加しました。
strname = "Text1";
strch1 = "Text2";
strch2 = "Text3";
strch3 = "Text4";
strtype = "Text5";
VALconv = 37.795275591;
VALwidth = 6 * VALconv;
tb1 = Text Box( STRname );
tb1 << Set Font( "Lucida Handwriting", 18, "bold" ) << Fixed Size( 1, VALwidth, 1.8 * VALconv );
tb2 = Text Box( STRch1 );
tb2 << Set Font( "Arial", 12 ) << Fixed Size( 1, VALwidth, 2 * VALconv );
tb3 = Text Box( STRch2 );
tb3 << Set Font( "Arial", 12 ) << Fixed Size( 1, VALwidth, 2 * VALconv );
tb4 = Text Box( STRch3 );
tb4 << Set Font( "Arial", 12 ) << Fixed Size( 1, VALwidth, 2 * VALconv );
tb5 = Text Box( STRtype );
tb5 << Set Font( "Arial", 12 ) << Fixed Size( 1, VALwidth, 1 * VALconv );
NW = New Window( "NW",
Lineup Box( N Col( 1 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb1 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb2 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb3 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb4 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb5 )
)
);
それがお役に立てば幸いです!
再:テキストボックスを固定サイズにするスクリプト何を構築するしゅう前記。 サブクラスへの偽の方法として、関数が定義済みオブジェクトを返すようにすることがあります。
Names Default to Here( 1 );
strname = "Text1";
strch1 = "Text2";
strch2 = "Text3";
strch3 = "Text4";
strtype = "Text5";
Lucida_Textbox = function({text},
{DEFAULT LOCAL},
VALconv = 37.795275591;
VALwidth = 6 * VALconv;
tb = Text Box( text );
tb << Set Font( "Lucida Handwriting", 18, "bold" ) << Fixed Size( 1, VALwidth, 1.8 * VALconv );
return(tb);
);
Arial_Textbox = function({text},
{DEFAULT LOCAL},
VALconv = 37.795275591;
VALwidth = 6 * VALconv;
tb = Text Box( text );
tb << Set Font( "Arial", 12 ) << Fixed Size( 1, VALwidth, 2 * VALconv );
return(tb);
);
tb1 = Lucida_Textbox( STRname );
tb2 = Arial_Textbox( STRch1 );
tb3 = Arial_Textbox( STRch2 );
tb4 = Arial_Textbox( STRch3 );
tb5 = Arial_Textbox( STRtype );
NW = New Window( "NW",
Lineup Box( N Col( 1 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb1 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb2 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb3 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb4 ),
Border Box( Left( 0 ), Right( 0 ), Top( 0 ), Bottom( 0 ), Sides( 15 ), tb5 )
)
);