没有ES_AutoHScroll的“无限”CEdit文本

时间:2010-11-30 16:38:31

标签: c++ mfc cedit

我对ES_AUTOHSCROLL Set有不良反应。

我要做的是创建一个使用其中的文本调整大小的编辑。但是,只要用户键入编辑结束,我就会遇到问题。

如果没有ES_AUTOHSCROLL,用户就无法输入当前的编辑大小,因此我的编辑不会增长到适合新角色,因为输入会被忽略。

当用户输入超过编辑的当前大小时,使用ES_AUTOHSCROLL,它会在我有机会增加窗口大小之前先滚动,所以即使窗口现在足够大,我也会隐藏第一个字母新角色。

我的解决方案是让我的编辑一个最大宽度字符比它所持有的文本更长,这是有效的,因为你有空间键入下一个字符。但是,这看起来有点俗气。

如果有一种方法允许更宽的文本而不是编辑窗口的宽度而不使用ES_AUTOHSCROLL我将被设置。

2 个答案:

答案 0 :(得分:0)

我认为您还想使用 ES_MULTILINE

编辑:在CEdit的文档中有一个成员函数void CEdit::LimitText( int nChars = 0 ),它将文本长度设置为UINT_MAX。我仍然认为您还需要使用ES_AUTOHSCROLL(否则当您尝试键入超出控件宽度时,您将收到EN_MAXTEXT通知。)

答案 1 :(得分:0)