自动为文本编辑框设置nlines?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />各位JMPers大家好,
和文本框您设置换行和宽度像素,文本框的高度会自动设置得足够大以容纳文本。例如:
我的纳尔= “培根 ipsum dolor amet 牛腰肉、短里脊肉饼烤肉、猪肩肉、猪胸肉、培根、猪布丁、阿尔卡特拉火腿、汉堡、咸牛肉。 猪排兰德杰格香肠法兰克福干肉干烤肉猪里脊肉火腿熏牛肉肥背牛腰肉。 牛胸火腿咸牛肉小排。 球尖菲力牛排肩胛肉、landjaeger 咸牛肉肥背牛小腿鹿肉猪排培根肉丸 bresaola leberkas。 三尖短肋排安杜耶尾熏火腿烤肉猪肉碎圆形肉饼薄肉布丁。
牛胸肉培根、landjaeger 牛肋骨、里脊肉、阿尔卡特拉丁骨、鹿小排、肥背猪、picanha 猪。 萨拉米胸肉烤肉鸡腿猪腰小腿鸡肉咸牛肉小排夹头肉丸丁骨。 Andouille 法兰克福臀肉牛排 Landjaeger 培根牛肉火腿飞节汉堡侧翼 picanha。 胸肉短腰肉汉堡包五花肉香肠布雷绍拉烤肉。 Biltong 火腿肉干、排骨、porchetta picanha 臀部、猪肉、猪里脊肉。” ;
西北=新窗户( “测试” ,
待定=文本框(我的纳尔) ,
) ;
待定<<设置包裹( 600 ) <<设置宽度( 600 ) ;
我将一些长文本放入文本编辑框中,因为用户想要复制/粘贴部分信息。但是文本编辑框需要使用设置高度设置n行。
西北=新窗户( “测试” ,
特布=文本编辑框(我的纳尔) ,
) ;
特布<<设置包装( 600 ) <<设置宽度( 600 ) <<设置n行( 10 ) ;
是否有一些巧妙的方法来计算给定长文本的行数?我想出了一个办法,但看起来很笨拙。我已附上运行此示例所需的代码。有两个功能,获取行数和我的解析。我必须编写自己的解析器来处理任意长的分隔符,以及两次或多次出现且中间没有任何内容的分隔符。
西北=新窗户( “测试” ,
特布=文本编辑框(我的纳尔) ,
) ;
行数=获取行数(我的纳尔, 600 ) ;
特布<<设置包装( 600 ) <<设置宽度( 600 ) <<设置n行(行数) ;
回复:自动为文本编辑框设置 nlines?感谢 MS 让我走上了正轨。感谢您提供简单巧妙的解决方案!
这个方程似乎比 height / (fontsize+1) 好一点:
内线=最大限度( 1 ,地面( .6264918 *高度/字体大小- 1.567659 )) ;
附录:
这对于字符数较少的情况效果更好:
内线=最大限度( 1 ,圆形的( .5204443 *高度/字体大小)) ;
回复:自动为文本编辑框设置 nlines?一种想法是利用文本框的自动调整大小功能。 行数似乎等于此比率:height_of_textbox / (fontsize+1)。
我的纳尔=
“培根 ipsum dolor amet 牛腰肉、短里脊肉饼烤肉、猪肩肉、猪胸肉、培根、猪布丁、阿尔卡特拉火腿、汉堡、咸牛肉。 猪排兰德杰格香肠法兰克福干肉干烤肉猪里脊肉火腿熏牛肉肥背牛腰肉。 牛胸火腿咸牛肉小排。 球尖菲力牛排肩胛肉、landjaeger 咸牛肉肥背牛小腿鹿肉猪排培根肉丸 bresaola leberkas。 三尖短肋排安杜耶尾熏火腿烤肉猪肉碎圆形肉饼薄肉布丁。
牛胸肉培根、landjaeger 牛肋骨、里脊肉、阿尔卡特拉丁骨、鹿小排、肥背猪、picanha 猪。 萨拉米胸肉烤肉鸡腿猪腰小腿鸡肉咸牛肉小排夹头肉丸丁骨。 Andouille 法兰克福臀肉牛排 Landjaeger 培根牛肉火腿飞节汉堡侧翼 picanha。 胸肉短腰肉汉堡包五花肉香肠布雷绍拉烤肉。 Biltong 火腿肉干、排骨、porchetta picanha 臀部、猪肉、猪里脊肉。” ;
w = 450 ; // 环绕和宽度
待定=文本框(我的纳尔,设置包裹( w ) ,设置宽度( w ) ,隐藏( 1 )) ; // 临时不可见文本框
西北=新窗户( “测试” ,待定) ;
// 获取尺寸信息
高度= (待定<<获取尺寸)[ 2 ] ;
字体大小=待定<<获取字体大小;
内线=高度/ (字体大小+ 1 ) ;
//n行++; // 添加 +1 以获得一些填充;选择 TextEditBox 内容会增加其大小
待定<<删除;
//追加与TextBox大小相同的TextEditBox
特布=文本编辑框(我的纳尔,设置包裹( w ) ,设置宽度( w ) ,设置n行(内线)) ;
西北<<附加(特布) ;