我在处理richedit控件时,
(比如转换大小写)
发现控件刷新好让人受累.有没有办法不让他刷新等处理完了再刷新呢??代码如下:
procedure TForm2.D1Click(Sender: TObject);
var
  i,vcount:integer;
begin
  with RichEdit1 do //转换成大写
  begin
   Screen.Cursor:= crHourglass;
    vcount := Lines.Count;
    for i:= 0 to vcount -1 do
      Lines.Strings[i] := UpperCase(Lines.Strings[i]);
   Screen.Cursor:= crArrow;
  end;
end;

解决方案 »

  1.   

    本来是想这么用的:
    Richedit1.lines.text = UpperCase(RichEdit1.Lines.Text);可是行数一多,就出错!
    没有办法,只好一行行处理.
      

  2.   

    是处理完成才刷新的,不存在你说的问题
    你的意思是不是处理过程中不响应其它事情?循环中加一句:Application.ProcessMessages
      

  3.   

    不会吧。
    我用这个代码会发现richedit会滚个不断呀!procedure TForm2.D1Click(Sender: TObject);
    var
      i,vcount:integer;
    begin
      with RichEdit1 do //转换成大写
      begin
       Screen.Cursor:= crHourglass;
        vcount := Lines.Count;
        for i:= 0 to vcount -1 do
          Lines.Strings[i] := UpperCase(Lines.Strings[i]);
       Screen.Cursor:= crArrow;
      end;
    end;
    我的是d7 + win2000环境.
      

  4.   

    我 D6+Win2000,会有这种区别吗?
    UP 一下
      

  5.   

    你看看这个 RichEdit 有没有什么属性可以禁止