ホーム » MFC » LBN_SELCHANGE が入らない?

LBN_SELCHANGE が入らない?

先日作成した個人的なツールなどで,リストボックスのイベントがうまく取れないことがある.
Win7 相当の「スタート」


それで,テスト用の exe を作成して確認してみた.
T_lbc.exe
動作としては,左から CListBox ,オーナードロー,ドラッグをサポートするオーナードロー.
リストされる内容は,exe のあるディレクトリに存在するファイル.
リストを選択すると,LBN_SELCHANGE が入り,上のエディットボックスに選ばれたものが入る.
普通に動作させた場合は特に問題ない.


この exe を 2 つ起動して,交互にリストから選択すると…
一番右のドラッグをサポートするリストボックスの選択で LBN_SELCHANGE が来ない?
また,選択して「ドラッグ」すると,他方はハイライトされる行が変わり WM_LBUTTONUP 後 LBN_SELCHAGE が入る.


一番右は「ドラッグ」動作のため,選択されているものが変わることはない.
WM_LBUTTONUP 後,選ばれているものが変わるのも当然うまくない.
リストボックスの標準的な動作として,ドラッグが絡むとうまくないのかもしれない.


今回作成しているツールでは,ドラッグ機能は必要ないため,オーナードローリストボックスに変更予定.



Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.