2011-05-04 85 views
4

我们在对话框中使用MFC静态控件来向用户显示一些内容。静态控制和对话框都在资源文件(.rc)中定义为LTEXT和DIALOG。问题是如果内容超过256个字符,它会被截断。有谁知道这个限制如何增加。控件和对话框是旧式的。如何增加MFC静态控件中的字符限制

回答

5

enter image description here

您可以投票给这个问题here。不要指望奇迹,资源编译器是新石器时代的。您必须通过使用多个静态控件或在运行时在WM_INITDIALOG消息处理程序中设置文本来解决此问题。不要高估用户的耐心。

0

静态控件显示文本,但没有用户交互;他们没有滚动条,并截断文本以适应控件的边界。如果您的问题是文本填满了控件并被截断,请考虑切换到只读编辑控件。

但是,如果尽管有更多空间,控件只接受256个字符,但我不确定这是为什么。 MSDN没有提到对控件文本大小的限制。

+0

这是后一种情况,即控制只接受256个字符。我迷失了方向。 – Gaurav 2011-05-04 11:36:25

+0

奇数。如果你调用GetWindowTextLength(),你会得到什么? – RobH 2011-05-04 11:56:47

+0

它不是STATIC窗口类的限制。我用一个大型的静态控件掀起了一个快速的MFC对话框应用程序,并用文本填充它。我可以在306 * 139的单位控制中看到1377个字符。 – RobH 2011-05-04 12:07:43

0

在我的理解中,编译器似乎对可编译模块中的内联字符串有限制。为什么你不介意创建一个字符串表,如果你使用这样的大文本标题?对于静态控件,256K字符没有这种限制。