在我的 VC++ 6.0 MFC 中,我添加了一个带有垂直滚动条的 EditBox,每 10 秒我从串口读取数据,我必须通过 EditBox(IDC_EDIT1) 显示,我没有任何问题地完成它。
但是我面临的一个典型问题是,每当在 EditBox 中显示新数据时,垂直滚动条会向上并且数据保持向下,我每次都必须向下滚动才能读取数据。
所以我的问题是,每当 EditBox 中显示新数据时,垂直滚动条也必须与数据一起向下移动。
我怎样才能做到这一点?
在我的 VC++ 6.0 MFC 中,我添加了一个带有垂直滚动条的 EditBox,每 10 秒我从串口读取数据,我必须通过 EditBox(IDC_EDIT1) 显示,我没有任何问题地完成它。
但是我面临的一个典型问题是,每当在 EditBox 中显示新数据时,垂直滚动条会向上并且数据保持向下,我每次都必须向下滚动才能读取数据。
所以我的问题是,每当 EditBox 中显示新数据时,垂直滚动条也必须与数据一起向下移动。
我怎样才能做到这一点?
您需要向编辑控件发送一个 EM_SETSEL 消息,其中字符串的长度作为参数。
此外,如果您的 EditBox 是 CEdit,您可以尝试遵循其成员函数 void SetSel( DWORD dwSelection, BOOL bNoScroll = FALSE ); void SetSel(int nStartChar, int nEndChar, BOOL bNoScroll = FALSE);
您可以向控件发送消息:
SendMessage(hwnd, WM_VSCROLL, SB_BOTTOM, 0);
其中 hwnd 是编辑框的句柄