掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
RichEditのちらつきを抑えるには? (ID:9220)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
EndUpdte の間違いでした。少々長いですが、ソースを書きます。 with (RichEdit As TRichEdit) do begin Lines.BeginUpdate; try Lines.Add(WORD); OLDPos := SelStart - Length(WORD) - 2; END := SelStart; for i := 0 to 3 do while TAGLIST[i] <> '' do begin TAGSTART := StrToInt(Copy(TAGLIST[i], 1, AnsiPos('*/', TAGLIST[i]) - 1)); Delete(TAGLIST[i], 1, AnsiPos('*/', TAGLIST[i]) + 1); TAGPROV[i] := Copy(TAGLIST[i], 1, AnsiPos('*/', TAGLIST[i]) - 1); Delete(TAGLIST[i],1,AnsiPos('*/',TAGLIST[i]) + 1); SelStart := OLDPosition - 1 + TAGSTART; SelLength := END - SelStart; if TAGPROV[i] <> '' then case i of 0: SelAttributes.Color := ColorType[AnsiIndexText(TAGPROV[0], ColorTAG)]; 1: SelAttributes.Size := SizeType[AnsiIndexText(TAGPROV[1], SizeTAG)]; 2: SelAttributes.Style := StyleType[AnsiIndexText(TAGPROV[2], StyleTAG)]; 3: SelAttributes.Name := TAGPROV[3]; end; TAGPROV[i] := ''; end; if Perform(EM_LINEFROMCHAR, -1, 0) > 150 then for i := 1 to 30 do Lines.Delete(0); SelStart := END; finally Lines.EndUpdate; end; end; TAGLIST[i]にはタグ抽出ルーチンでタグ位置+'*/'+タグ(省略型)+'*/'を交互に入れています。 ここ(実描画ルーチン)ではタグ位置と、TAGPROV[i]にタグを1つづつ取り出して、 省略タグの配列を検索、その数字を実際の SelAttributes の配列に入れて変換しています。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.