掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ドロップダウンリストの自作 (ID:69166)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ドロップダウンリストを自作していて疑問に思ったのですが、 Windows 標準のドロップダウンリストは、 ドロップボタンを押して表示したリストボックスを どのようなイベントをトリガーにして閉じているのでしょうか? リストボックスの領域内がクリックされた場合は、 イベントが拾えますので、 問題なくリストボックスを閉じることができるのですが、 リストボックスの領域外がクリックされた場合の、 トリガーとなるイベント ( の拾い方 ) がわかりません。 最初は、 リストボックスにフォーカスを設定しておいて、 WM_KILLFOCUS が発生したら、 リストボックスを閉じるようにしていました。 これはうまくいきました。 しかし、いろいろと調べていると、 Windows 標準のドロップダウンリストのリストボックスの親はデスクトップで、 そのスタイルに WS_CHILD が指定されているというがわかりました。 そこで、 親をデスクトップに、そのスタイルに WS_CHILD を指定して リストボックスを作成してみましたところ、 WM_KILLFOCUS が発生しなくなってしまい、 リストボックスを閉じることができなくなってしまいました。 メッセージフック用 DLL を作成するという手もあると思いますが、 それはちょっと大掛かりすぎるように思います。 何か良い方法をご存知の方がいらっしゃいましたら、 ご教示いただけませんでしょうか? 環境: WindowsXP SP2
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.