编辑框、下拉框、网址按钮等是我们常用的控件,对应的类是

CBCGPRibbonEdit

CBCGPRibbonComboBox

CBCGPRibbonHyperlink

使用实例如下:

//Edit
     CBCGPRibbonEdit* pEdit = new CBCGPRibbonEdit(2001, 200);
     pEdit->SetReadOnly(TRUE);
     pPanelActions->Add(pEdit);//添加combox
     CBCGPRibbonComboBox *pCombox = new CBCGPRibbonComboBox(2000, TRUE);
     pCombox->AddItem(L"combox1");
     pCombox->AddItem(L"combox2");
     pCombox->SetReadOnly(TRUE);
     pCombox->SetPrompt(_T("Combo Box"));
     pPanelActions->Add(pCombox);//link
     CBCGPRibbonHyperlink *pHyperlink = 
         new CBCGPRibbonHyperlink(2002, L"文本2", L"http://baidu.com");
     pPanelInfo->Add(pHyperlink);

正常添加之后,发现一个问题是控件灰显,不能点击,经过尝试发现是没有添加事件造成的,

添加的事件如下所示:

afx_msg void OnDummy(UINT id);
ON_COMMAND_RANGE(ID_CONTROL_START, ID_CONTROL_END, OnDummy)
//ID_CONTROL_START是最小的id号ID_CONTROL_END是最大的id号,避免添加的控件不在其中,造成消息无法响应
 void CMainFrame::OnDummy(UINT id)
 {
     switch (id)
     {
     case 2000:
     {
         CBCGPRibbonComboBox *pCombox = NULL;
         pCombox = DYNAMIC_DOWNCAST(CBCGPRibbonComboBox, m_wndRibbonBar.FindByID(id));
         CString strEditText = pCombox->GetEditText();
         break;
     }
     case 2001:
     {
         break;
     }
     case 2002:
     {
         CBCGPRibbonHyperlink *pHyperlink = NULL;
         pHyperlink = DYNAMIC_DOWNCAST(CBCGPRibbonHyperlink, m_wndRibbonBar.FindByID(id));
         pHyperlink->OpenLink();
         break;
     }
     case 2011:
     {
         break;
     }
     }
 }至此控件可

以点击响应了