Memo组件:为何循环执行SendMessage(Memo->Handle ,EM_SCROLL,SB_LINEDOWN,0)时文本只上移一行就不在自动上

  • 主题发起人 主题发起人 hawk2001
  • 开始时间 开始时间
H

hawk2001

Unregistered / Unconfirmed
GUEST, unregistred user!
Memo组件:为何循环执行SendMessage(Memo->Handle ,EM_SCROLL,SB_LINEDOWN,0)时文本只上移一行就不在自动上移 (50分)<br />向Memo组件中动态输入文本过程中,为使文本自动上移,循环执行SendMessage(Memo->Handle ,EM_SCROLL,SB_LINEDOWN,0)和Application->ProcessMessages();
但程序运行结果却是:文本只上移一行就不在自动上移文本。请问如何实现连续上移?
 
我只有delphi你改成c就可以。
procedure TForm1.Button1Click(Sender: TObject);
begin
while SendMessage(Memo1.Handle ,EM_SCROLL,SB_LINEDOWN,0)>0do
begin
sleep(10);//稍等片刻。
Application.ProcessMessages();
end;
end;
 
SendMessage要等一下的。因为它返回才继续执行的。
试试postmessage.
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部