编辑控件文本溢出

EDIT control text overflow

本文关键字:溢出 文本 控件 编辑      更新时间:2023-10-16

这很简单。我创建了一个编辑控件,如下所示:

HWND MYTEXT= CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"", 
                            WS_CHILD|WS_VISIBLE|ES_LEFT|ES_MULTILINE, 
                            20, 120, 150, 20, hWnd, NULL, hInst, NULL);

但是当我在里面输入文本时,我不能输入比EDIT控件的宽度更多的文本。当我到达终点的时候,就好像没有更多的空间了,然后我就会听到哔的一声。在这种情况下,我如何使文本滚动?

你可以给你的编辑控件WS_HSCROLL和/或WS_VSCROLL窗口样式。例如:

HWND myText
    = CreateWindowEx(WS_EX_CLIENTEDGE, L"EDIT", L"", 
                     WS_CHILD | WS_VISIBLE | WS_HSCROLL | ES_LEFT | ES_MULTILINE, 
                     20, 120, 150, 20, hWnd, NULL, hInst, NULL);

或者,正如Matthew T. Staebler正确建议的那样,使用ES_AUTOHSCROLL和/或ES_AUTOVSCROLL(注意ES_前缀,因为这些是编辑样式,而不是窗口样式)。