Как разместить Combo-box в Toolbar?
Не могу найти в литературе способ размещения combo-box'a (или других элементов управления) на панели Toolbar. Может кто-нибудь подскажет решение? Заранее благодарен!
#define CX_COMBOWIDTH 200
BOOL CMyToolBar::Create(CWnd *pParentWnd, DWORD dwStyle, UINT nID)
{
if (!CreateEx(pParentWnd, TBSTYLE_FLAT,
dwStyle, CRect(0, 0, 0, 0), nID))
return FALSE;
if (!LoadToolBar(IDR_TOOLBAR))
return FALSE;
int nIndex = CommandToIndex(ID_COMBOBOX);
SetButtonInfo(nIndex, ID_COMBOBOX, TBBS_SEPARATOR, CX_COMBOWIDTH);
CRect rect;
GetItemRect(nIndex, &rect);
m_wndComboBox.SetWindowPos(0, rect.left, rect.top+1, rect.Width(), CY_HIEGHT,
SWP_NOZORDER|SWP_NOACTIVATE|SWP_NOCOPYBITS);
m_wndComboBox.SetItemHeight(-1, rect.Height()-7);
m_wndComboBox.ShowWindow(SW_SHOW);
return TRUE;
}
int CMyToolBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CToolBar::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndComboBox.Create(WS_CHILD | CBS_DROPDOWN, CRect(0, 0, 0, 0), this, ID_COMBOBOX))
{
TRACE ("can't create combobox\r\n");
return -1;
}
m_wndComboBox.SetFont(GetFont());
return 0;
}
Посмотри пример в MSDN Samples/VC/MFC/OLE/WordPad.