轉帖|使用教程|編輯:莫成敏|2020-03-12 10:54:34.040|閱讀 581 次
概述:本文介紹在BCGControlBar中,如何使用SetVisualTheme()函數解決Ribbon界面一直顯示File按鈕的問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
BCGSoft公司的BCGControlBar產品是全球最優秀的MFC界面類庫,功能強大,顯示豐富,在國際上享有盛譽,并屢次獲獎,是VC界面設計的必備首選!
BCGControlBar Professional Edition for MFC是MFC的一個擴展庫,您可以用來構建類似于Microsoft Office。BCGControlBar的這個擴展庫包含了300多個經過精心設計,測試和具有完備文檔的MFC擴展類。BCGControlBar控件能輕松的融入應用程序中,節約大量的的開發和調試時間。
方法一:
缺點:需要修改BCGControlbar庫代碼。
1、打開BCGCBPro100.sln(對應于VS 2010)或者BCGCBPro***.sln,找到CPP文件:BCGPWorkSpace.cpp
2、在BCGPWorkSpace.cpp文件中找到SetVisualTheme函數中將_T("File")替換為_T("文件")即可,重新編譯,采用新生成的DLL運行我們的ribbon程序。
void CBCGPWinApp::SetVisualTheme(BCGP_VISUAL_THEME theme) { //中的_T("File"); //替換為_T("文件"); m_AppOptions.m_strScenicRibbonLabel = _T("File"); }
方法二:
1、在CMainFrame類中實現虛函數RecalcLayout(),應為每次系統調用了SetVisualTheme()后,都是調用RecalcLayout()進行重新布局,重新布局的過程中我們再次設置一下CBCGPRibbonMainButton的顯示文字就會修改過來了。
void CMainFrame::RecalcLayout(BOOL bNotify) { // TODO: Add your specialized code here and/or call the base class if (m_wndRibbonBar.GetSafeHwnd()) { CString strInfo = _T("文件"); CBCGPRibbonMainButton* pRibbonMainButton = m_wndRibbonBar.GetMainButton(); if (pRibbonMainButton!=NULL) { pRibbonMainButton->SetScenicText(strInfo); m_wndRibbonBar.SetMainButton(pRibbonMainButton, CSize(70, 45)); } } CBCGPFrameWnd::RecalcLayout(bNotify); }
原始樣式
修改后樣式
另一個Ribbon界面問題:當我們點擊上面的文件按鈕時,發現下拉框的位置與文件按鈕的位置平行的,如果我們使用office2016的clorful主題會非常明顯,處女座的看起來估計就有點難受。這個就必須得修改BCGControlbar的源代碼了。
1、打開BCGCBPro100.sln(對應于VS 2010)或者BCGCBPro***.sln,找到CPP文件: BCGPRibbonBar.cpp。
2、在BCGPRibbonBar.cpp文件中找到BOOL CBCGPRibbonMainButton::ShowMainMenu ()函數,修改注釋行下面的代碼:
else { if (!m_pRibbonBar->OnBeforeShowMainPanel()) { return FALSE; } CBCGPRibbonPanelMenu* pMenu = new CBCGPRibbonPanelMenu (pPanel); pMenu->SetParentRibbonElement (this); //注釋掉減去的那個tab高度 const int y = m_pRibbonBar->IsScenicLook () ? rectBtn.bottom /*- m_pRibbonBar->m_nTabsHeight*/ - 1 : rectBtn.CenterPoint ().y; pMenu->Create (m_pRibbonBar, bIsRTL ? rectBtn.right : rectBtn.left, y, (HMENU) NULL); SetDroppedDown (pMenu); }
原始樣式
修改后樣式
本文內容就是這樣了,希望對您有所幫助!您可以下載BCGControlBar試用版免費評估~
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: