编辑框、下拉框、网址按钮等是我们常用的控件,对应的类是
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;
}
}
}至此控件可
以点击响应了