CSplitButton::OnDropDown
更新 : 2007 年 11 月
ユーザーが現在の分割ボタン コントロールのドロップダウン矢印をクリックしたときにシステムから送信される BCN_DROPDOWN 通知を処理します。
afx_msg void OnDropDown(
NMHDR* pNMHDR,
LRESULT* pResult
);
パラメータ
パラメータ |
説明 |
---|---|
[入力] pNMHDR |
BCN_DROPDOWN 通知に関する情報が含まれている NMHDR 構造体へのポインタ。 |
[出力] pResult |
(使用しません。値は返されません。)BCN_DROPDOWN 通知の戻り値。 |
必要条件
ヘッダー : afxcmn.h
このメソッドは、Windows Vista およびそれ以降のバージョンでサポートされています。
このメソッドに関するその他の要件については、「Windows Vista コモン コントロールの作成要件」を参照してください。
解説
ユーザーが分割ボタン コントロールのドロップダウン矢印をクリックすると、システムから BCN_DROPDOWN 通知メッセージが送信され、その通知メッセージが OnDropDown メソッドによって処理されます。ただし、CSplitButton オブジェクトは、分割ボタン コントロールのコンテナになっているコントロールには BCN_DROPDOWN 通知を転送しません。したがって、コンテナになっているコントロールでその通知に対する応答としてカスタム アクションをサポートすることはできません。
コンテナになっているコントロールでサポートするカスタム アクションを実装するには、CSplitButton オブジェクトの代わりに、BS_SPLITBUTTON スタイルの CButton オブジェクトを使用します。その後、その CButton オブジェクトで BCN_DROPDOWN 通知のハンドラを実装します。詳細については、「ボタン スタイル」を参照してください。
分割ボタン コントロール自体でサポートするカスタム アクションを実装するには、メッセージ リフレクションを使用します。そのためにはまず、CSplitButton クラスから独自のクラスを派生させ、CMySplitButton などの名前を付けます。それから、BCN_DROPDOWN 通知を処理するために、以下のメッセージ マップをアプリケーションに追加します。
BEGIN_MESSAGE_MAP(CMySplitButton, CSplitButton)
ON_NOTIFY_REFLECT(BCN_DROPDOWN, &CMySplitButton::OnDropDown)
END_MESSAGE_MAP()
参照
参照
テクニカル ノート 62: Windows コントロールへのメッセージ リフレクション (メッセージ返送)