- PR -

[VB, C#]シンタックスハイライト

1
投稿者投稿内容
かずひろかず
常連さん
会議室デビュー日: 2008/07/01
投稿数: 24
投稿日時: 2009-02-07 17:32
こんにちは。.NET初心者です。

今回はリッチテキストボックスを使って、VisualStudioのコードエディタの様な、単語の色付け表示(シンタックスハイライト)をやろうと思っています。

今は、

・入力される(RichTextBox.TextChanged)
   ↓
・WM_SETREDRAW (描画をオフに)
   ↓
・内容を取得
   ↓
・Dictionaryとかいろいろ使って、色付け部分を選択
   ↓
・色をつける
   ↓
・色付け処理を繰り返す
   ↓
・カレットを元に戻し、WM_SETREDRAW(描画をオンに)
   ↓
・再描画

このような処理を行っているのですが、どうしても動作が遅く、ぎこちないものになってしまいます。
もっと速くハイライトを行えるようにする方法はあるのでしょうか。

どうかご教授お願いします。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2009-02-08 19:02
引用:

今回はリッチテキストボックスを使って、VisualStudioのコードエディタの様な、単語の色付け表示(シンタックスハイライト)をやろうと思っています。



Code Projectでサンプルを探してみるとか。

Syntax highlighting textbox written in C#
http://www.codeproject.com/KB/edit/SyntaxHighlighting.aspx
かずひろかず
常連さん
会議室デビュー日: 2008/07/01
投稿数: 24
投稿日時: 2009-02-08 19:19
返答ありがとうございます。

そのコードから、いろいろとノウハウをもらおうと思います。
todoさん、返答ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)