■28859 / ) |
Re[2]: GetPositionFromCharIndexについて |
□投稿者/ よねKEN (212回)-(2008/12/02(Tue) 11:06:30)
|
2008/12/02(Tue) 11:07:36 編集(投稿者)
その動作になる理由をTextBoxBase、TextBox、RichTextBoxのソースコードを読んで調べてきました。
> (正確なところはEM_POSFROMCHARメッセージに対する各コントロールがどう応答するのかの > 仕様を確認しないとわかりませんが)
EM_POSFROMCHARメッセージといったWindowsAPIレベルの部分以前の話で、 それぞれのコントロールでのindexの範囲チェックによる動作でした。
TextBoxBase → index < 0 || index >= Text.Length だったら Point.Emptyを返す TextBox → TextBoxBaseと同じ RichTextBox → RichEditのメジャーバージョンが2だったら、TextBoxBaseと同じ それ以外なら、index < 0 || index > Text.Length だったら Point.Emptyを返す
RichTextBoxでRichEditのメジャーバージョンが2以外のときだけ、テキストの末尾+1までOKなようです。
ちなみに以下のサイトのRichEditのバージョンについての情報を参照する限りでは、 .NET Framework2.0のサポート環境だとWin98の場合だけ注意が必要そうですね。 http://www.river.sannet.ne.jp/yuui/richedit.html
.NET Framework2.0のサポート環境は以下のシステム要件から http://www.microsoft.com/downloads/details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=ja
|
|