2009-06-30 71 views
1

我有一个GTK#文本视图,文字换行和滚动条打开。我知道水平滚动条将不会显示,因为这些单词将会换行。将文本放入GTK#TextView而不使用滚动条

我想添加一些文本,但在添加之前我想知道文本是否适合,而不需要垂直滚动条。

如果表示文本视图需要垂直滚动条,我不想添加文本。

我该怎么做?

回答

3

我不知道有什么方法可以测量TextView的内容而无需实际更新文本。这是一个复杂的文本布局小部件,可以处理格式化的文本,图像等。插入文本可以大大改变布局,因此您无法“预测”某些新文本如何改变大小,而无需实际修改缓冲区并重新计算其布局。

如果你解释为什么你需要这个功能,建议一个解决方案会更容易。例如,如果您只需要知道添加文本,无论何时该视图将具有滚动条,您可以使用滚动调整 - TextView是一个“可滚动”小部件,即其布局空间是虚拟化的,并且是通过包含范围,页面大小,滚动增量大小等的“调整”对象由父滚动窗口操作。您可以通过从ScrolledWindow访问它们并订阅其更改事件来检测它们何时更改。

+0

如果表示文本视图需要垂直滚动条,我不想添加文本。 – trampster 2009-06-30 22:55:04

相关问题