|
■No56733 (ヨシ さん) に返信
> 最初の書き込みの表示イメージのようなものを考えています。
見た目だけの問題なら、それっぽい別の文字に置き換えて表示するとか。
ttp://www.fileformat.info/info/unicode/char/2400/index.htm
//richTextBox1.Font = new Font("Courier New", 18f);
richTextBox1.Font = new Font("MS UI Gothic", 18f);
string s = "ABCDEFGH\0\r\n1234567\n";
// 改行文字補正
s = s.Replace("\r\n", "\n").Replace("\r", "\n").Replace("\n", "\r\n");
// 制御機能用記号への置き換え
s = s.Replace('\0', '\u2400');
richTextBox1.Text = s;
クリップボード対応となると、WM_COPY/WM_CUT/WM_PASTE を捕らえて
NULL 文字と代用文字の置換/復元を行えばそれっぽくなるかも知れませんが、
コピー先のアプリが \0 を処理できなければ、意味が無いでしょうね。
(自作アプリ同士のデータ交換であれば、何とかなるかもしれませんが)
なお、Clipboard クラス経由でのクリップボード操作の場合、
SetText 時に '\0' を含めると、NULL 文字も含めて登録されるようですが、
GetText 時には '\0' 以降が切り取られてしまうようです。API 操作が必要かも。
|