2

Delphi の designmode で HTML エディタとして Internet Explorer を使用しようとしています。私は Mshtml と SHDocVw ユニットを使用しており、編集はうまくいきます。Word の「特殊文字」オプションのようなグリフもいくつか表示します (例: 段落: ¶)。グリフを非表示にする場合とグリフを表示する場合では、キャレットの位置に違いがあるようです。

1) 隠しグリフ

<End>「サンプル テキスト」でキーを押すと、キャレットは最後の文字「t」の直後に配置されます。

キーを入力する<1>と、html の結果は期待どおりになります。

<p>Sample Text1</p>

2) グリフの表示

「サンプル テキスト」でキーを押す<End>と、キャレットは最後の文字の直後ではなく、グリフの後に配置されます: サンプル テキスト¶ |

キーを入力する<2>と、html の結果は次のようになります。

<p>Sample Text</p>2

したがって、「2」は段落の外に出てしまいます。

また、システム以外のキーを押す前にグリフを非表示にするとどうなるかを確認しました。

3) グリフを表示して後で非表示にする

最初にグリフを<End>表示し、「サンプル テキスト」のキーを押して、グリフを非表示にします。キャレットはまだ最後の文字の直後に配置されていません。画面にスペースが表示されます (ただし、html ソースには実際の文字/要素はありません)。テキスト | キーを入力する<3>と、html の結果は次のようになります。

<p>Sample Text</p>3

したがって、'3' は依然として段落の外に出てしまいます。

<Home>のようなキーや矢印キーにも同じ問題が存在します。

どうすればこれを防ぐことができますか? グリフの後にキャレットを配置しないようにする方法、または段落の最後の文字に変更する方法はありますか?

4

0 に答える 0