2015-02-23 87 views
0

我正在设置一些文本的静态控件。当我试图在静态控件中设置冗长的文本时,文本会被剪辑。如何防止静态控件中的文本被截断?

任何人都可以请让我知道,我怎样才能防止文本被截断。

+2

你想要它做什么呢?包?显示省略号?展开静态? – 2015-02-23 14:21:30

+0

@Alex K静态控件的宽度是固定的,我无法增加静态控件的宽度,因为我没有在对话框中增加空间,但可以增加高度。要在该对话框中输入的文本限制静态控制是255个字符。我希望整个文本在静态控件中可见而不会被剪切。 – Siva 2015-02-23 14:59:24

回答

0

使静态文本控件大于放入它的文本。一个窗口吸引了客户端和非客户端空间。它夹到它的窗户。

+0

我有一个固定长度的静态控件,我不能增加静态控件的大小,但我希望所有文本都显示在静态控件中。宽度是固定的,高度可以变化。 – Siva 2015-02-23 14:53:33

+0

你不能够获得超出静态文本控件边界的文本但是,如果你想要一些可以滚动的东西,我只需用只读编辑控件替换静态控件即可。 – 2015-02-23 16:19:23

0

如果你担心在对话框或形式,语言翻译可能是一个可能的问题,那么你应该考虑使用CStatic tool tip空间。使用工具提示可以让您保持控件的当前大小,并提供一种显示其全文的机制。当用户将鼠标悬停在CStatic上时,会弹出一个工具提示以显示整个文本。这是我必须用来平衡UI设计与对话空间的折中。

1

问题是,静态控件总是剪辑一个单词,该单词比控件的宽度长。如果你使用SS_LEFT风格的话被包裹到下一行。所以更高的控制会有所帮助(我可以在评论中看到这是可能的)。

但风格必须SSLEFT而不是SS_LEFTNOWRAP!

另一种解决方案是使用一个只读的编辑控件没有边框在这种情况下,您可以编辑控件内滚动,因为它有可能给它的焦点。你也可以使用垂直或水平滚动条。

只要你不使用WS_TABSTOP你会本身没有边框只读编辑控件和静态控制并无实质区别。除了可以用鼠标激活编辑控件。