CListCtrlにはCHeaderCtrl'が組み込まれており、カスタマイズされたもの、つまりCHeaderCtrlから派生したクラスでオーバーライドしたいと考えています。
CListCtrlm_ListとカスタムヘッダーCCustomHeaderを含むダイアログCMyDlgがあると仮定すると、これを行うための最良/正しい方法は何ですか。
CCustomHeader メンバー変数からCWnd::SubclassWindowを呼び出すことができるはずです。
m_Header.SubclassWindow(m_List.GetHeaderCtrl()->GetSafeHwnd());
からクラスを派生CListCtrl
させ、必要な通知メッセージのハンドラーを実装します。メッセージには、リスト コントロールとその項目に関するメッセージの場合は LVN_ という名前が付けられ、ヘッダー コントロールに関するメッセージの場合は HDN_ という名前が付けられます。