ライブ構文ハイライトの RichTextBox 再描画を効率的に一時停止および再開するにはどうすればよいですか?
Jan 05, 2025 pm 01:42 PMライブ構文強調表示のための RichTextBox の再描画の一時停止
RichTextBox 内のキーワードをリアルタイムで効率的に強調表示するには、コントロールの自動強調表示を無効にするのが理想的です。再塗装中。 WndProc オーバーライド メソッドではこれが可能ですが、RichTextBox を受け取る外部関数には適していません。
幸いなことに、SendMessage API を利用して自動再描画を直接制御する回避策があります。
[DllImport("user32.dll")] private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp); private const int WM_SETREDRAW = 0x0b;
ログイン後にコピー
wp を 0 に設定して SendMessage を呼び出すと、自動再描画が無効になります。逆に、wp を 1 に設定すると、再び有効になります。
使用法:
- 一時停止の再描画の開始: SendMessage(richTextBoxHandle, WM_SETREDRAW, (IntPtr)0, IntPtr.Zero);
- テキストの更新を実行し、 formatting.
- 再描画を再開する: SendMessage(richTextBoxHandle, WM_SETREDRAW, (IntPtr)1, IntPtr.Zero);
- コントロールを無効にして即時再描画をトリガーする: richTextBoxHandle.Invalidate();
以上がライブ構文ハイライトの RichTextBox 再描画を効率的に一時停止および再開するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

人気の記事
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
レポ:チームメイトを復活させる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
2つのポイント博物館:すべての展示とそれらを見つける場所
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7126
9


Java チュートリアル
1534
14


Laravel チュートリアル
1256
25


PHP チュートリアル
1205
29


CakePHP チュートリアル
1153
46



C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか?
