我使用CEdit
文本字段在MFC应用程序中输入搜索项。当在全高清分辨率下使用它时,它工作得很好,我可以根据需要输入任意大小的字符串,但当在4k分辨率下使用时,文本限制为10个字符。GetLimitText
的返回值是3000,如果SetLimitText
的值小于10,则有效,限制为更多(例如20(也没有任何作用,仍然只能输入10个字符。以前有人遇到过这个问题吗?或者可能是我的实现造成的?
I"固定的";在某种程度上。我打电话给CWnd::ModifyStyleEx(0, WS_EX_CLIENTEDGE)
。我换成了CWnd::ModifyStyle(0, WS_BORDER)
。这不是一个真正的修复,因为它改变了它的外观,但我想这是一个错误。
我在为CDialogBar动态创建等效资源(而不是使用资源编辑器(时遇到了类似的问题。其中一个控件是CEdit控件,正如user3808318所指出的,MFC或Windows神秘地忽略了您使用SetLimitText分配的任何值,并且似乎忽略了您键入的任何超出屏幕上编辑控件的字符。
这是我创建导致此问题的编辑控件的原始方式。
创建(WS_CHILD | WS_VISIBLE | WS_BORDER,rectDummy,this,IDC_FIND_TEXT(
这是正确的方法,现在包括ES_AUTOHSCROLL选项。
创建(WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL,rectDummy,this,IDC_FIND_TEXT(