コントロールは、複数の行にテキストを描画したり、URL や @user タグなどのクリックに応答したりできる必要があり、目立つように別の色にする必要があります。
最初の明白な選択はリッチエディット コントロールでしたが、これには多くの問題がありました。まず、テキストを選択不可にし、入力を無効にしたいと思います。後者は簡単ですが、テキストの選択を禁止する唯一の方法は、コントロールを無効にすることです。その場合、背景色をデフォルトのグレーから白に変更する方法がわかりません。さらに、リッチエディットから無料で入手できるすべてのクリック可能なリンク機能は、コントロールが無効になると機能しなくなります。
私の選択肢は何だと思いますか?TextOut を使用して独自のコントロールを作成しようとするのは非常に慎重です。それは泣きたくなるかもしれません。
編集: これまで、ユーザーがオプションとしてテキストを選択できるようにすることを考えていなかったので、読み取り専用モードは役に立たないようでした。そのように頭の中で計画しただけです。私は間違いなく点滅するキャレットがないようにしたいので、いろいろ調べてみると、リッチエディットの WM_SETFOCUS で HideCaret を呼び出して (サブクラス化することにより)、0 を返すことができることがわかりました。皮肉なことに、マウスで何かを選択する機能もなくなりました。これは、私が最初に望んでいた動作とほとんど同じです。ただし、選択を禁止することに完全に反対しているかどうかはわかりません。話を戻します。あとは、テキストの上にカーソルを置いたときにカーソルの画像が変化する動作をオーバーライドできるかどうかを判断するだけです。