ユーザーがOfficeMathML数式オブジェクトを挿入できるようにするRichEditコントロールがあります。
基本的に、ロジックは次のようになります。ユーザーが数式の挿入をクリックし、外部のMathMLエディターを使用できるようにしてから、数式を表す画像をRichEditコントロールに貼り付けます。
' Paste the picture into the RichTextBox.
SendMessage ctlLastFocus.hwnd, WM_PASTE, 0, 0
その位置を見つけて、以下を使用してロックします。
With ctlLastFocus
'lock the image
.SelStart = .SelStart - 1
.SelLength = 1
.SelProtected = True
ANSIの美しい世界ではすべて素晴らしいですが、Unicode文字も許可されています。私が気付いたのは、漢字を使用すると、挿入の位置が全体の半分だけ間違っていることです。 7番目の位置になり、3番目に挿入されます。
基本的に2で割ると、Unicodeは1バイトしか必要としないANSIと比較して、2バイトかかるためだと思います。つまり、私はRTF、RichEdit、およびVisualBasic6の経験がないダミーです。
だから私の質問は:sendMessage行を使用して画像を貼り付けるときに画像の位置を変更できますか?
または、RichEditボックスに挿入される画像の位置を制御する他の方法を使用しますか?