VS2010 Ribbon测试案例

来源:互联网 发布:棋牌源码论坛eenot 编辑:程序博客网 时间:2024/05/20 06:37

使用VS2010创建一个带Ribbon样式的单文档程序

项目类型为:Office 




在资源中,可对Ribbon进行编辑 






在资源中,可对Ribbon进行编辑 
Ribbon控件中,按右键,添加事件处理






==============================================

图标的添加:

使用 Axialis IconWorkshop

添加一个: 来自数个文件的图像带


添加数个PNG图像(推荐PNG图像,带Alpha透明)




最后保存成BMP格式


在VS资源中,导入BMP,如下: IDB_BMP_ICO  IDB_BMP_ICO2  分别用于大图标与小图标








在面板的属性中,分别指定此面板需要采用的LargeImages 与 SmallImages 





在面板中的按钮属性中,添加图标






运行结果:






主界面:




============================================

复选框的按钮,需要添加一个 BOOL m_bCheck; 

在按钮中,对其进行控件,并在Ribbon更新的时候,对复选框进行勾选或取消勾选


void CMainFrame::OnChkTest(){m_bCheck = !m_bCheck;if (m_bCheck){AfxMessageBox(_T("勾选"));}else{AfxMessageBox(_T("取消"));}}void CMainFrame::OnUpdateChkTest(CCmdUI *pCmdUI){pCmdUI->SetCheck(m_bCheck);}




其他部分代码:

void CMainFrame::OnBtnTesta(){AfxMessageBox(_T("测试按钮A"));}void CMainFrame::OnChkTest(){m_bCheck = !m_bCheck;if (m_bCheck){AfxMessageBox(_T("勾选"));}else{AfxMessageBox(_T("取消"));}}void CMainFrame::OnUpdateChkTest(CCmdUI *pCmdUI){pCmdUI->SetCheck(m_bCheck);}void CMainFrame::OnEdtA(){// TODO: 在此添加命令处理程序代码}void CMainFrame::OnEdtB(){// TODO: 在此添加命令处理程序代码}void CMainFrame::OnBtnEditText(){ CMFCRibbonEdit* pEditA = DYNAMIC_DOWNCAST(CMFCRibbonEdit, m_wndRibbonBar.FindByID(ID_EDT_A)); CMFCRibbonEdit* pEditB = DYNAMIC_DOWNCAST(CMFCRibbonEdit, m_wndRibbonBar.FindByID(ID_EDT_B)); CString strA; strA = pEditA->GetEditText(); CString strB; strB = pEditB->GetEditText(); AfxMessageBox(strA+_T(" - ")+strB);CMFCRibbonButton* pBtn = DYNAMIC_DOWNCAST(CMFCRibbonButton, m_wndRibbonBar.FindByID(ID_BTN_EDIT_TEXT)); }void CMainFrame::OnBtnColor(){CMFCRibbonColorButton* pBtn = DYNAMIC_DOWNCAST(CMFCRibbonColorButton, m_wndRibbonBar.FindByID(ID_BTN_COLOR)); COLORREF color;color = pBtn->GetColor();BYTE r = GetRValue(color);BYTE g = GetGValue(color);BYTE b = GetBValue(color);CString strColor;strColor.Format(_T("颜色:R:%d-G:%d-B:%d"), r, g, b);AfxMessageBox(strColor);}void CMainFrame::OnSpinNum(){// 怎么会运行两次呢CMFCRibbonEdit* pEdit = DYNAMIC_DOWNCAST(CMFCRibbonEdit, m_wndRibbonBar.FindByID(ID_SPIN_NUM)); CString strGet;strGet = pEdit->GetEditText();AfxMessageBox(strGet); }void CMainFrame::OnCmbTest(){CMFCRibbonComboBox* pCmb = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, m_wndRibbonBar.FindByID(ID_CMB_TEST)); CString strGet;strGet = pCmb->GetEditText();AfxMessageBox(strGet);}


源码下载 

RibbonMenu_测试

http://download.csdn.net/detail/yulinxx/7645477
0 0
原创粉丝点击