Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是否将文本附加到空间不足的编辑控件?_C++_C_Windows - Fatal编程技术网

C++ 是否将文本附加到空间不足的编辑控件?

C++ 是否将文本附加到空间不足的编辑控件?,c++,c,windows,C++,C,Windows,这就是我的问题,在达到一定的数据量之前,它可以正常工作。我不能显示一个完整的html文件,例如,窗口中大约1MB的文件,它会被切断 窗口: case WM_CREATE: hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_READONLY | WS_HSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | E

这就是我的问题,在达到一定的数据量之前,它可以正常工作。我不能显示一个完整的html文件,例如,窗口中大约1MB的文件,它会被切断

窗口:

case WM_CREATE:

    hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, "EDIT", "", 
        WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_READONLY | WS_HSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL, 
        0, 0, 100, 100, hWnd, (HMENU)IDC_MAIN_EDIT, GetModuleHandle(NULL), NULL);
    if(hEdit == NULL)
        MessageBox(hWnd, "Could not create edit box.", "Error", MB_OK | MB_ICONERROR);

    hfDefault = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
    SendMessage(hEdit, WM_SETFONT, (WPARAM)hfDefault, MAKELPARAM(FALSE, 0));
    LogText(hEdit,logstring);
    break;
功能:

void LogText(HWND hEdit, const char * logstring)
{
const char * logstring2="\r\n";
int iLength = GetWindowTextLength(hEdit);
SendMessage(hEdit, EM_SETSEL, iLength, iLength);
SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM) logstring);
SendMessage(hEdit, WM_VSCROLL, SB_BOTTOM, (LPARAM)NULL);
int iLength2 = GetWindowTextLength(hEdit);
SendMessage(hEdit, EM_SETSEL, iLength2, iLength2);
SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM) logstring2);
SendMessage(hEdit, WM_VSCROLL, SB_BOTTOM, (LPARAM)NULL);

}
用法:

 logstring="Test";
LogText(hEdit, logstring);

就像我说的,它工作得很好,除了它吐出未知数量的数据后停止工作,我注意到这是一个非常一致的数字。

您可以更改带有消息的编辑框的文本限制。在尝试将文本分配给编辑框之前,只需定义上限。

是否尝试使用调整上限?谢谢。这是我用过的。我刚刚在WM_CREATE.SendMessage(hEdit,EM_SETLIMITTEXT,100000000,0)中发送了此消息;