如何在Matlab GUI中禁用列表框水平滚动

时间:2016-07-16 16:42:09

标签: matlab user-interface listbox matlab-guide horizontal-scrolling

当字符串或句子变得太长时,将激活Matlab GUIDE列表框组件的水平滚动。如何禁用此功能并允许长字符串或句子在下一行继续?

1 个答案:

答案 0 :(得分:1)

我误解了这个问题,所以我的答案不正确(但是被接受了)。

您可以实现的目标,但没有记录。查看Undocumented features,了解更多信息。

从链接:

换行

  

默认情况下,打开换行符,有效禁用   水平滚动(这就是Matlab设置的原因   Horizo​​ntalScrollBarPolicy到HORIZONTAL_SCROLLBAR_​​NEVER。但是,在   在某些情况下,关闭换行可能更有用   使用TextArea的setWrapping()方法水平滚动。   这是一个用法示例:

jViewPort = jScrollPane.getViewport; jEditbox =
jViewPort.getComponent(0); jEditbox.setWrapping(false);  % do *NOT*
use set(...)!!! newPolicy =
jScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED;
set(jScrollPane,'HorizontalScrollBarPolicy',newPolicy);

另外,请检查以下链接:this link

如果你希望它看起来像是在不同的行上,但是让Matlab像在一行上一样解析它,那么你将不得不使用另一个编辑器。我不认为有任何编辑器内置语法高亮显示支持这一点,所以你最好的选择可能是像固定大小字体的MS Word(Courier New或其他东西)。在我看来,这是一个可怕的可怕想法,但它是可能的。

"正确"这样做的方法是use ...创建多行字符串/赋值等:

示例:

mystring = ['Accelerating the pace of ' ... 
        'engineering and science'];

或用方程式:

s = 1 - 1/2 + 1/3 - 1/4 + 1/5 ...
      - 1/6 + 1/7 - 1/8 + 1/9;