gpt4 book ai didi

c++ - 将文本附加到空间不足的编辑控件?

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:54 25 4
gpt4 key购买 nike

所以这是我的问题,它在达到一定数量的数据之前工作正常。我无法在它被截断的窗口中显示整个 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);

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

最佳答案

您可以使用 EM_SETLIMITTEXT 更改编辑框的文本限制信息。在尝试将文本分配给编辑框之前,只需定义上限即可。

关于c++ - 将文本附加到空间不足的编辑控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9953616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com