因为要在RichEdit中显示不同格式的文字,所以使用EM_REPLACESEL消息来添加文本,结果发现当RichEdit控件设置为WS_VSCROLL时,如果添加的文本行数超过RichEdit一屏显示的行数,则要显示的文本一闪而过,最后什么都不显示,拉一下滚动条后才能显示正常。
如果不设置WS_VSCROLL则正常显示,但是这样做就没有滚动条了。设置了ES_AUTOVSCROLL能支持鼠标滚动,但滚动条依旧没有。
如果添加的文本没有超过一屏显示的数量没有问题。
用WM_SETTEXT消息或者SetWindowText函数也没有问题。
不知道有没有人遇到过同样的事情。
LoadLibrary(TEXT("Riched20.dll"))
CreateWindow(RICHEDIT_CLASS, TEXT(""), WS_VISIBLE|WS_CHILD|ES_MULTILINE|WS_HSCROLL|WS_VSCROLL, ...
SendMessage(HEditData, EM_REPLACESEL, FALSE, (LPARAM)TsDataShow);