C++相談室 part43
■ このスレッドは過去ログ倉庫に格納されています
003428
2005/08/16(火) 14:19:15もちろん私が知らないというだけできちんと方法はあるのかもしれませんが、
例えばマウスクリックした位置にエディタのカーソル(キャレット)を移動し、
そこに文字列を挿入したいとします。
マウスの座標を取得し「その座標の位置にある文字が何文字目であるか」が
取得できればinsertとか使えると思うのですが、
wstringの場合、文字列の先頭から1バイト文字かマルチバイト文字かを判断し
1バイトなら8ドット、2バイトなら16ドットのように足していって
座標値を割り出すことができないのでマウス座標との判定ができなそう、、、など。
あとはIMEで漢字変換したとき、WM_CHARが連続して流れてくるみたいなんですが、
WPARAMをwstringの文字列に突っ込んでもうまくいかないようで、
文字化けしたようになってきちんと表示できませんでした。
stringの場合はそのまま突っ込んでもきちんと表示できていたので、
じゃあstringを使おうかなと思ったのですが、
これだと今度はマルチバイト文字を使った時に「文字単位」で操作できないし、、、
などです。
■ このスレッドは過去ログ倉庫に格納されています