Win32下编辑框自动追加文本并自动滚动到底部最新
void AppendEditText(HWND hWndEdit, LPCSTR pszFormat, ...)
{
CHAR szText[4096] = { 0 };
va_list vlArgs;
va_start(vlArgs, pszFormat);
_vsnprintf(szText, sizeof(szText) - 1, pszFormat, vlArgs);
va_end(vlArgs);
lstrcatA(szText, "\r\n");
//以下两条语句为在edit中追加字符串
SendMessageA(hWndEdit, EM_SETSEL, -2, -1);
SendMessageA(hWndEdit, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)szText);
//设置滚轮到末尾,这样就可以看到最新信息
SendMessageA(hWndEdit, WM_VSCROLL, SB_BOTTOM, 0);
}
void AppendEditText(HWND hWndEdit, LPCWSTR pszFormat, ...)
{
WCHAR szText[4096] = { 0 };
va_list vlArgs;
va_start(vlArgs, pszFormat);
_vsnwprintf(szText, sizeof(szText) - 1, pszFormat, vlArgs);
va_end(vlArgs);
lstrcatW(szText, L"\r\n");
//以下两条语句为在edit中追加字符串
SendMessageW(hWndEdit, EM_SETSEL, -2, -1);
SendMessageW(hWndEdit, EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)szText);
//设置滚轮到末尾,这样就可以看到最新信息
SendMessageW(hWndEdit, WM_VSCROLL, SB_BOTTOM, 0);
}