CSplitButton::SetDropDownMenu
更新 : 2007 年 11 月
ユーザーが現在の分割ボタン コントロールのドロップダウン矢印をクリックしたときに表示されるドロップダウン メニューを設定します。
void SetDropDownMenu(
UINT nMenuId,
UINT nSubMenuId
);
void SetDropDownMenu(
CMenu* pMenu
);
パラメータ
パラメータ |
説明 |
---|---|
[入力] nMenuId |
メニュー バーのリソース ID。 |
[入力] nSubMenuId |
サブメニューのリソース ID。 |
[入力] pMenu |
サブメニューを指定する CMenu オブジェクトへのポインタ。CSplitButton オブジェクトがスコープの外に出ると、CSplitButton オブジェクトによって CMenu オブジェクトとそれに関連付けられている HMENU が削除されます。 |
必要条件
ヘッダー : afxcmn.h
このメソッドは、Windows Vista およびそれ以降のバージョンでサポートされています。
このメソッドに関するその他の要件については、「Windows Vista コモン コントロールの作成要件」を参照してください。
解説
nMenuId パラメータでは、メニュー バー (メニュー項目を横に並べた一覧) を指定します。nSubMenuId パラメータは、サブメニュー (各メニュー バー項目に関連付けられているメニュー項目のドロップダウン リスト) を指定するための 0 から始まるインデックス番号です。たとえば、標準的なアプリケーションには、[ファイル]、[編集]、[ヘルプ] などのメニュー バー項目を含んだメニューがあります。[ファイル] メニュー バー項目には、[開く]、[閉じる]、[終了] などのメニュー項目を含んだサブメニューがあります。分割ボタン コントロールのドロップダウン矢印をクリックすると、メニュー バーではなく指定のサブメニューがコントロールによって表示されます。
以下の図に示すのは、ページャ コントロールと (1) 分割ボタン コントロールを含んだダイアログ ボックスです。(2) ドロップダウン矢印が既にクリックされ、(3) サブメニューが表示されています。
使用例
以下のコードの最初のステートメントは、CSplitButton::SetDropDownMenu メソッドの実装例です。ここでは、Visual Studio リソース エディタでメニューを作成したので、IDR_MENU1 というメニュー バー ID が自動的に設定されています。nSubMenuId パラメータ (0) は、メニュー バーの唯一のサブメニューを参照しています。
// Initialize the dropdown menu of the splitbutton control.
m_splitButton.SetDropDownMenu(IDR_MENU1, 0);
// Create the pager control.
BOOL nRet;
CRect rect;
GetClientRect(&rect);
nRet = m_pager.Create(
(WS_VISIBLE | WS_CHILD | PGS_HORZ),
CRect(rect.Width()/4, 5, (rect.Width() * 3)/4, 55),
this,
IDC_PAGER1);
m_pager.GetClientRect( &rect );
nRet = m_button.Create(
_T("This is a very, very long button. 012345678901234567890"),
(WS_VISIBLE | WS_CHILD), // Do not use CCS_NORESIZE.
CRect(0,0,rect.Width(),30),
&m_pager, IDC_BUTTON1);
m_pager.SetChild(m_button.m_hWnd);
m_pager.SetButtonSize( 20 );
m_pager.SetBorder( 1 );