Aracılığıyla paylaş


Araç çubuğu denetimi açılan düğmeleri kullanma

Standart basma düğmeleri ek olarak, bir araç çubuğu aşağı açılan düğme de sağlayabilirsiniz.Aşağı açılan düğme genellikle ekli aşağı okun varlığı tarafından gösterilir.

[!NOT]

Ekli aşağı ok yalnızca görünür TBSTYLE_EX_DRAWDDARROWS Genişletilmiş Stil ayarlanmış.

Kullanıcı tıklattığında bu oku (veya düğmesinin kendisini), ok yok, bir TBN_DROPDOWN toolbar denetiminin üst bildirim iletisi gönderilir.Bu bildirim işlemek ve açılır menüsünü görüntüler; Internet Explorer'ın davranışını benzer.

Aşağıdaki yordamı uygulamak açılır menüsüyle açılan araç çubuğu düğmesi verilmektedir:

Aşağı açılan düğme uygulamak için

  1. Bir kez sizin CToolBarCtrl nesne oluşturuldu, set TBSTYLE_EX_DRAWDDARROWS , aşağıdaki kodu kullanarak stili:

    m_ToolBarCtrl.SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);
    
  2. Set TBSTYLE_DROPDOWN yeni stil herhangi (InsertButton veya AddButtons) ya da var olan (SetButtonInfo) aşağı açılan düğme olacak düğmeler.Varolan bir düğmeyi değiştirme aşağıdaki örnekte gösterilmiştir bir CToolBarCtrl nesne:

    TBBUTTONINFO tbi;
    
    tbi.dwMask = TBIF_STYLE;
    tbi.cbSize = sizeof(TBBUTTONINFO);
    m_ToolBarCtrl.GetButtonInfo(0, &tbi);
    tbi.fsStyle |= TBSTYLE_DROPDOWN;
    m_ToolBarCtrl.SetButtonInfo(0, &tbi);
    
  3. Add bir TBN_DROPDOWN üst sınıf araç nesnesinin işleyicisine.

    ON_NOTIFY(TBN_DROPDOWN, IDC_TOOLBAR1, &CMyDialog::OnTbnDropDownToolBar1)
    
  4. Yeni işleyicisinde uygun açılır menüsünü görüntüler.Aşağıdaki kod, bir yöntem gösterilmektedir:

    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;
    }
    

Ayrıca bkz.

Başvuru

CToolBarCtrl kullanma

Kavramlar

Denetimleri (mfc)