レポートビューに複数のCListCtrlを含むダイアログボックスがあるMFCアプリケーションをコーディングしています。そのうちの1つを並べ替え可能にします。だから私はHDM_ITEMCLICKイベントを処理し、すべてがうまく機能します..別のCListCtrlのヘッダーをクリックすると、他のCListCtrlがソートされることを除いて、それはちょっとばかげているように見えます。
これは明らかに、ヘッダーのIDが0であるため、メッセージマップのエントリは次のようになります。
ON_NOTIFY(HDN_ITEMCLICK, 0, &Ccreationprogramme::OnHdnItemclickList5)
しかし、すべてのヘッダーのIDがゼロであるため、ダイアログのすべてのヘッダーがメッセージを送信しているようです。
この問題を回避する簡単な方法はありますか?
編集:たぶん私は明確ではありませんでしたが、NMHDR構造内の値を確認しました。HwndFromポインターは、クリックされたヘッダーによって異なりますが、実行ごとに値が明らかに異なるため、あまり役に立ちません。idFrom値は0です。これは、上記で説明した理由により、すべてのヘッダーのIDであるためです。ありがとう
EDIT2:hwndポインターの値もCListCtrlに対応していません。これは、おそらく完全に別のオブジェクトからのものであるためです。