-1

カスタム CListBox 派生クラスを作成しようとしています。メッセージ マップを適切に設定する方法がわかりません。これは私が使用している現在のコードです:

template <class T>
class CHScrollListBoxT : public CWindowImpl<CHScrollListBoxT<T> , CListBox>
{
public:
    BEGIN_MSG_MAP(CHScrollListBoxT< T >)
        MESSAGE_HANDLER(LB_ADDSTRING, OnAddString)
        MESSAGE_HANDLER(LB_INSERTSTRING, OnInsertString)
        MESSAGE_HANDLER(LB_DELETESTRING, OnDeleteString)
        MESSAGE_HANDLER(LB_DIR, OnDir)
        MESSAGE_HANDLER(LB_RESETCONTENT, OnResetContent)
    END_MSG_MAP()

    ...

私が抱えている問題は、残りのウィンドウ メッセージをベース CListBox クラスに戻す方法です (つまり、メッセージ マップで指定していないウィンドウ メッセージに対して既定の処理を行う)。CListBox に適用可能なすべてのメッセージ ハンドラーをオーバーライドする必要はありません。私は試した:

CHAIN_MSG_MAP(CWindowImpl<CHScrollListBoxT<T>, CListBox>

しかし、それはコンパイルされません。

4

1 に答える 1