2

在我的 VC++ 6.0 MFC 中,我添加了一个带有垂直滚动条的 EditBox,每 10 秒我从串口读取数据,我必须通过 EditBox(IDC_EDIT1) 显示,我没有任何问题地完成它。

但是我面临的一个典型问题是,每当在 EditBox 中显示新数据时,垂直滚动条会向上并且数据保持向下,我每次都必须向下滚动才能读取数据。

所以我的问题是,每当 EditBox 中显示新数据时,垂直滚动条也必须与数据一起向下移动。

我怎样才能做到这一点?

4

3 回答 3

1

您需要向编辑控件发送一个 EM_SETSEL 消息,其中字符串的长度作为参数。

于 2009-03-23T09:11:49.017 回答
1

此外,如果您的 EditBox 是 CEdit,您可以尝试遵循其成员函数 void SetSel( DWORD dwSelection, BOOL bNoScroll = FALSE ); void SetSel(int nStartChar, int nEndChar, BOOL bNoScroll = FALSE);

于 2009-03-24T08:49:48.033 回答
0

您可以向控件发送消息:

SendMessage(hwnd, WM_VSCROLL, SB_BOTTOM, 0);

其中 hwnd 是编辑框的句柄

于 2009-04-03T15:18:47.513 回答