使文本框具有固定大小的腳本你好
我需要生成一個窗口,其中頂部文本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.8cm開始。
我相信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 )
)
);