掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
キャレットの作成と廃棄のタイミングは? (ID:69855)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ここではお初になります、よろしくお願いいたします。 api で自作editコントロールの作成中にタイトル内容の疑問が 湧き上がりました。 自分で調べたところ、ウィンドウのフォーカスを得るか失うかで、 CreateCaret, DestroyCaret を実行すればよい事が分かりました。 ひらがな入力をされた場合、 文字変換ウィンドウが現れ、そこに、キャレットが表示されます。 (本当にキャレットなのかちょっと疑問) http://msdn.microsoft.com/ja-jp/library/cc410685.aspx と照らし合わせると、 WM_KILLFOCUS を受け取っていないけど、キーボードフォーカスは、 変換ウィンドウに移っているように見える。 (WM_KILLFOCUS が来ていないから、フォーカスは親のまま?) フォーカスが2つ存在しているように見える。(親と変換ウィンドウに一つずつ) の2点が、矛盾しているように感じます。 このことを考えるとキャレットを破棄したほうが良いのかどうか迷ってしまいます。 変換ウィンドウが現れたとき、どのように変化、または動作をしているか、 (自ずとキャレットをどう扱えば良いか分かる程度)ご教授お願いします。 もし、ここでキャレットを破棄する必要があるとしたら、 WM_IME_STARTCOMPOSITION を受け取って、破棄。 WM_IME_ENDCOMPOSITION を受け取って、生成。 で良いのでしょうか? 環境: Visual Studio 2005
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.