Обрабатываем нотификейшн TBN_DROPDOWN от кнопки с вышеупомянутым стилем следующим образом:
void CMainFrame::OnToolbarDropDown(NMTOOLBAR* pnmtb, LRESULT *plr)
{
// load and display popup menu
CMenu menu;
menu.LoadMenu(IDR_FILEDROPDOWN);
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup);
CRect rc;
m_wndToolBar.SendMessage(TB_GETRECT, pnmtb->iItem, (LPARAM)&rc);
m_wndToolBar.ClientToScreen(&rc);
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_VERTICAL,
rc.left, rc.bottom, this, &rc);
}
---
Переписал пример на API - тоже работает. Почему работает не понял, но работает. А без меню кнопка не нажимается в принципе :)
|