编辑控件文本溢出

时间:2013-03-22 21:28:55

标签: c++ winapi scroll overflow edit

这很简单。我创建了一个像这样的EDIT控件:

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控件宽度更多的文本。当我到达终点时,就像没有更多的空间,我发出一声哔哔声。如何在这种情况下滚动文本?

1 个答案:

答案 0 :(得分:4)

您可以为编辑控件提供WS_HSCROLL和/或WS_VSCROLL window styles。例如:

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_前缀,因为这些是编辑样式,而不是窗口样式。)