Windows では、サロゲートを含む UTF-16 シーケンスがあり、そのシーケンスをリッチエディット コントロールに挿入すると、リッチエディット コントロールはこれを適切に処理し、サロゲート ペアごとに 1 文字のみを表示します。
私が直面している問題は、選択範囲を照会すると、コントロール内の表示可能な文字数としての文字位置ではなく、UTF-16 ストリーム内の位置を取得していることです。実際の位置を見つけるには遅い解決策がありますが、UTF-16 で選択されたテキストまで取得してから、実際の文字数をカウントする必要があります。
私は何か見落としてますか?それよりも効率的なものはありますか?
ありがとう、
マヌー
PS: 選択をクエリするには、EM_EXGETSEL メッセージを使用して CHARRANGE 構造体を埋めます。