Memoのちらつきを防止するには

解決


tora  2006-03-08 14:47:39  No: 20410  IP: 192.*.*.*

シリアル信号にて受信した文字列をMemoに表示するアプリケーションを作成しています。
下記のようにMemoに文字列を追加しているのですが、表示がちらついてしまいます。
    var
      RcvString:String;

        MmReceive.Lines.Text := MmReceive.Lines.Text + RcvString;

        RcvString := '';
どのようにしたら、他のアプリケーション(TeraTerm等)のようにちらつき無く
表示できるのでしょうか?

編集 削除
ん?  2006-03-08 15:59:11  No: 20411  IP: 192.*.*.*

Addしたら?

編集 削除
あ゛?  2006-03-08 16:00:16  No: 20412  IP: 192.*.*.*

DoubleBuffered

編集 削除
tora  2006-03-08 16:22:07  No: 20413  IP: 192.*.*.*

ん?さん、あ”?さん回答ありがとうございます。
>Addしたら?
Addは、受信した文字列が改行つきの場合もMemoの文字列が改行されてしまうので、
使用しませんでした。
>DoubleBuffered
は、TMemoのプロパティに無く使用できないようです。
TMemoをTRichEditに置き換えて、RichEdit.Lines.DoubleBufferedをTrue
設定し、同じように実行したらRitchEditに何も表示されません。
下記のようにしても同じでした。
  RichEdit1.Lines.BeginUpdate;
  RichEdit1.Lines.Text := RichEdit1.Lines.Text + RcvString;
  RichEdit1.Lines.EndUpdate;

編集 削除
えーと  2006-03-08 18:08:31  No: 20414  IP: 192.*.*.*

これね

http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=079000

編集 削除
tora  2006-03-09 09:28:52  No: 20415  IP: 192.*.*.*

えーとさんありがとうございます。
下記の処理で所望の動作をするように出来ました。
>  Str := '追加文字';
>  Memo1.SelStart := Length(Memo1.Lines.Text);
>  Memo1.SelText := Str;
#Delphi-ML過去ログブラウザで「TMemo ちらつき」でnamazu検索したら、
ヒットしなかったのでこちらに書き込んだんですが、「TMemo」だけで
検索すれば出てきたんですね。失礼しました。
(「TMemoのちらつき防止」で検索すれば出てくるんですが。うーん。)

編集 削除