Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Förutom standardknappar kan ett verktygsfält också ha listruteknappar. En nedrullningsknapp indikerar vanligtvis en nedåtpil.
Anmärkning
Den bifogade nedåtpilen visas bara om TBSTYLE_EX_DRAWDDARROWS utökade formatmall har angetts.
När användaren klickar på den här pilen (eller själva knappen, om ingen pil finns), skickas ett TBN_DROPDOWN meddelandemeddelande till den överordnade kontrollen i verktygsfältet. Du kan sedan hantera det här meddelandet och visa en popup-meny. liknar beteendet i Internet Explorer.
Följande procedur visar hur du implementerar en knapp i listrutan med en popup-meny:
Att implementera en nedrullningsbar knapp
När objektet
CToolBarCtrlhar skapats anger du TBSTYLE_EX_DRAWDDARROWS formatmall med hjälp av följande kod:m_ToolBarCtrl.SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);Ange TBSTYLE_DROPDOWN formatmall för alla nya (InsertButton - eller AddButtons) eller befintliga (SetButtonInfo)-knappar som ska vara nedrullningsbara knappar. I följande exempel visas hur du ändrar en befintlig knapp i ett
CToolBarCtrlobjekt:TBBUTTONINFO tbi; tbi.dwMask = TBIF_STYLE; tbi.cbSize = sizeof(TBBUTTONINFO); m_ToolBarCtrl.GetButtonInfo(0, &tbi); tbi.fsStyle |= TBSTYLE_DROPDOWN; m_ToolBarCtrl.SetButtonInfo(0, &tbi);Lägg till en TBN_DROPDOWN-hanterare i den överordnade klassen för verktygsfältsobjektet.
ON_NOTIFY(TBN_DROPDOWN, IDC_TOOLBAR1, &CMyDialog::OnTbnDropDownToolBar1)Visa lämplig popup-meny i den nya hanteraren. Följande kod visar en metod:
void CMyDialog::OnTbnDropDownToolBar1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMTOOLBAR pToolBar = reinterpret_cast<LPNMTOOLBAR>(pNMHDR); ClientToScreen(&(pToolBar->rcButton)); // TrackPopupMenu uses screen coords CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU1)); CMenu *pPopup = menu.GetSubMenu(0); if (NULL != pPopup) { pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pToolBar->rcButton.left, pToolBar->rcButton.bottom, this); } *pResult = 0; }