如何修改组合框中文本的字体大小?你好,
我想知道是否有办法调整组合框中文本的字体大小?我在组合框中提供了一个测试参数列表,供用户选择,但某些参数名称非常长,因此我想减小字体大小以尝试节省屏幕空间。
大规模定制Re: 如何修改组合框内文字的字体大小?很有创意,我很喜欢这种方法。 谢谢!Re: 如何修改组合框内文字的字体大小?如果您正在使用可拉伸的窗口,您可能会考虑使组合框也可拉伸。它需要最小和最大尺寸,虽然它更喜欢文本的完整尺寸,但如果像 Splitter Box 这样的盒子强制它会缩小到更小的尺寸。它不提供截断选项,因此您只会看到字符串的第一部分。
New Window( "Combo",
H Splitter Box(
Size( 600, 300 ),
gb=Graph Box(),
combo = Combo Box(
{"This is long combo option 1 that I would like to truncate",
"This is long combo option 2 that I would like to truncate"},
<<SET min="" size=""></SET>

Re: 如何修改组合框内文字的字体大小?这是个好主意.....按钮框实际上可以只是一个图标,而该图标可以是向下箭头
Re: 如何修改组合框内文字的字体大小?或者 ...
用文本框替换组合框。使用文本框显示所选参数的名称(使用小字体)。在它旁边,有一个“选择”按钮。使用按钮脚本启动一个新窗口,其中包含带有参数名称的组合框或列表框。由于它是一个没有其他内容的单独窗口,因此您应该能够毫无问题地显示全长名称);使此窗口模式化并在窗口关闭时更新文本框。
这里有一些粗略的代码来说明这个想法:
names default to here(1);
NewWindow("Test",
BorderBox(top(20),bottom(20),left(20),right(20),
VListBox(
TextBox("Selected Parameter",<<SETFONTSTYLE></SETFONTSTYLE>
Re: 如何修改组合框内文字的字体大小?我认为您无法更改组合框上的字体。也许您可以实现一些逻辑来缩短名称?
// example 1
str = "this is a long parameter name";
if (length(str)>15,
newstr = left(str,5) || "..." || right(str,5)
);
// newstr = "this ... name"
// example 2
abbreviatedFilePath = function({path},{default local},
delim = "/";
If (contains(path,"\"),
delim = "\"
);
lstWords = words(path,delim);
nwords = nItems(lstWords);
If (nWords>2,
abbrPath = "..." || delim || lstWords[nwords-1] || delim || lstWords[nwords]
,
abbrPath = path
);
return(abbrPath);
);
str = "c:\this\is_a\long\filepath.txt";
newstr = abbreviatedFilePath(str);
// newsttr = "...\long\filepath.txt"Re: 如何修改组合框内文字的字体大小?我没有找到任何可以传递给 Combo Box() 来设置字体大小的消息。 因此,我假设它遵循首选项中字体类别之一的大小。 我对首选项中的字体进行了不完整的搜索,但没有找到重置组合框()字体大小的字体。