使文本框具有固定大小的脚本你好
我需要生成一个窗口,其中顶部文本beox始终是固定高度,下面的另一个文本框是不同的固定高度,等等。这样可以堆叠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));回复:脚本具有固定大小的文本框如果希望所有文本框的高度相同,则可以在每个文本框旁边放置一个两行文本框(两个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.8厘米开始向下。
我相信VALconv是来自快速Google的像素到厘米的转换率。
它们最初是H列表框,因为在将来的迭代中,我可能想在具有固定大小(例如1.8cm x 6cm)的“框”内混合文本和图像,但是这不是必须的,并且我的主要目标是首先使其与纯文本一起使用。
回复:脚本具有固定大小的文本框没有可用于文本框的固定大小消息。 也许,类似下面的内容将为您工作。注意:我添加了BorderBoxes,以便您可以更清楚地看到TextBoxes的大小。
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 )
)
);