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

解決


tora  2006-03-08 23:47:39  No: 20410

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

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

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


ん?  2006-03-09 00:59:11  No: 20411

Addしたら?


あ゛?  2006-03-09 01:00:16  No: 20412

DoubleBuffered


tora  2006-03-09 01:22:07  No: 20413

ん?さん、あ”?さん回答ありがとうございます。
>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-09 03:08:31  No: 20414

これね

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


tora  2006-03-09 18:28:52  No: 20415

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加