在Office 2007中,Microsoft使用了稱作Ribbon的全新界面,Ribbon對應的部分如下圖的1區(qū)域,它包括以下部分:Office Button(按鈕,區(qū)域2), Quick Access(快速訪問工具欄,區(qū)域3), Tabs(選項卡,區(qū)域4), Contextual Tabsets(上下文標簽集,區(qū)域5), Groups Tabs(組選項卡,區(qū)域6)
在遵義等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需策劃設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,遵義網(wǎng)站建設(shè)費用合理。
RibbonX是一種供開發(fā)者或最終用戶定制功能區(qū)的方法,即功能區(qū)的可編程機制。功能區(qū)(Ribbon)是Office 2007應用程序界面的一部分,而RibbonX是指通過使用XML為自定義的應用程序來創(chuàng)建功能區(qū)元素(組件)的編程接口。
1.3實現(xiàn)接口IRibbonExtensibilityIRibbonExtensibility定義在Office類型庫中,該類型庫的id為{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52},在頭文件開頭處導入類型庫
C++ #import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" version("2.5") auto_rename auto_search raw_interfaces_only rename_namespace("Office") |

該接口只有一個函數(shù),重寫GetCustomUI,該函數(shù)主要用來加載自定義界面XML文件,通過出參RibbonXml獲取xml中的內(nèi)容。
涉及太多COM內(nèi)容,用法可以參考資料:https://blog.csdn.net/u011304970/article/details/72863693
1.4XML中各元素的用法XML ???? ???????? |
xmlns為命名空間,其中包含所有元素名字的定義
tab元素中的屬性insertBeforeMso 作用是在指定的idMso前插入選項卡,tab所有的屬性可以在以下網(wǎng)站找到:
[MS-CUSTOMUI]: tab (Tab) | Microsoft Learn
TabHome為開始選項卡的idMso,所有idMso可以在以下網(wǎng)站找到:
[MS-CUSTOMUI]: PowerPoint 2007 | Microsoft Learn
imageMso是office自帶的圖片資源
onAction中的字符串是點擊按鈕時調(diào)用的函數(shù),需要在工程代碼中定義

HTML |

其他元素用法可以參考:https://blog.csdn.net/nodeman/article/details/79419386


每個元素都有屬于自身的回調(diào)方法,button元素可以使用onAction進行回調(diào),以下嘗試對一個按鈕
使用GetEnabled回調(diào)
xml內(nèi)容如下:
HTML ???? ???????? ???????????? imageMso="WebPagePreview" ???????????? size="large" ???????????? label="測試按鈕" ???????????? getEnabled="GetEnabled"/> ???? ??? |
在接口文件.idl中添加,其中回調(diào)函數(shù)的定義在以下網(wǎng)頁中:
https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2007/aa722523(v=office.12)

C++ interface IConnect : IDispatch { ...... HRESULT GetEnabled([in]IDispatch* ribbtonControl, [out, retval] VARIANT_BOOL *pvarfEnabled); }; |
在插件類頭文件.h中加入
C++ //IConnect 實現(xiàn) ...... virtual HRESULT __stdcall GetEnabled(IDispatchribbtonControll, VARIANT_BOOL *pvarfEnabled); |
源文件中添加定義
C++ HRESULT __stdcall CKisOfficeAddin::GetEnabled(IDispatch* ribbtonControll, VARIANT_BOOL *pvarfEnabled) { *pvarfEnabled = VARIANT_FALSE; return S_OK; } |
效果如下:

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
標題名稱:使用RibbonX在ppt中插入按鈕-創(chuàng)新互聯(lián)
當前地址:http://chinadenli.net/article32/dhcepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站設(shè)計公司、品牌網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容