在Office 2007中,Microsoft使用了稱作Ribbon的全新界面,Ribbon對應(yīng)的部分如下圖的1區(qū)域,它包括以下部分:Office Button(按鈕,區(qū)域2), Quick Access(快速訪問工具欄,區(qū)域3), Tabs(選項(xiàng)卡,區(qū)域4), Contextual Tabsets(上下文標(biāo)簽集,區(qū)域5), Groups Tabs(組選項(xiàng)卡,區(qū)域6)
在遵義等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需策劃設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,遵義網(wǎng)站建設(shè)費(fèi)用合理。1.2初識RibbonXRibbonX是一種供開發(fā)者或最終用戶定制功能區(qū)的方法,即功能區(qū)的可編程機(jī)制。功能區(qū)(Ribbon)是Office 2007應(yīng)用程序界面的一部分,而RibbonX是指通過使用XML為自定義的應(yīng)用程序來創(chuàng)建功能區(qū)元素(組件)的編程接口。
1.3實(shí)現(xiàn)接口IRibbonExtensibilityIRibbonExtensibility定義在Office類型庫中,該類型庫的id為{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52},在頭文件開頭處導(dǎo)入類型庫
C++ #import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" version("2.5") auto_rename auto_search raw_interfaces_only rename_namespace("Office") |
該接口只有一個(gè)函數(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前插入選項(xiàng)卡,tab所有的屬性可以在以下網(wǎng)站找到:
[MS-CUSTOMUI]: tab (Tab) | Microsoft Learn
TabHome為開始選項(xiàng)卡的idMso,所有idMso可以在以下網(wǎng)站找到:
[MS-CUSTOMUI]: PowerPoint 2007 | Microsoft Learn
imageMso是office自帶的圖片資源
onAction中的字符串是點(diǎn)擊按鈕時(shí)調(diào)用的函數(shù),需要在工程代碼中定義
HTML |
其他元素用法可以參考:https://blog.csdn.net/nodeman/article/details/79419386
每個(gè)元素都有屬于自身的回調(diào)方法,button元素可以使用onAction進(jìn)行回調(diào),以下嘗試對一個(gè)按鈕
使用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 實(shí)現(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)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
標(biāo)題名稱:使用RibbonX在ppt中插入按鈕-創(chuàng)新互聯(lián)
當(dāng)前地址:http://m.newbst.com/article32/dhcepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容