簡體   English   中英

如何更改VSTO加載項功能區的KeyTip屬性?

[英]How do you change the KeyTip property of a VSTO AddIn ribbon?

我試圖更改已創建的RibbonTab對象的KeyTip屬性。 當我在Excel中運行插件時,它顯示的提示提示是“ X”而不是“ JJJ”。

如果我在“屬性”窗口中將其更改為“ JJJ”,則可以正常工作,但是我想了解為什么我不能以這種方式進行更改。

我需要做什么才能將RibbonTab.KeyTip屬性加載為“ JJJ”?

(僅供參考,這是我的第一個項目,因此我仍在學習中)

謝謝,

Imports Microsoft.Office.Tools.Ribbon

Public Class Ribbon1

Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load

   tabRibbon1.KeyTip = "JJJ"

End Sub

Fluent UI(又稱Ribbon UI)從誕生之日起就是靜態的。 當外接程序返回UI標記(由Ribbon設計器生成或僅由原始XML標記生成)時,您只能在啟動時設置一次keytip屬性。

您也可以考慮使用getKeyTip回調,該回調允許動態評估鍵盤快捷鍵。 IRibbonUI界面的Invalidate方法使功能區用戶界面的所有控件的緩存值無效。 您可以通過使用COM加載項中的回調過程來自定義功能區UI。 對於外接程序實現的每個回調,都將緩存響應。 例如,如果外接程序getImage為按鈕實現getImage回調過程,則一次調用該函數,然后加載圖像,然后如果需要更新圖像,則使用緩存的圖像代替調用該過程。 該過程將一直保持原狀,直到外接程序通過使用Invalidate方法表示已緩存的值無效為止,這時再次調用回調過程並緩存返回響應。 然后,該外接程序可以通過調用Refresh方法來強制UI的立即更新。 例如:

Dim MyRibbon As IRibbonUI 

Sub MyAddInInitialize(Ribbon As IRibbonUI) 
  Set MyRibbon = Ribbon 
End Sub 

Sub myFunction() 
  MyRibbon.Invalidate() ‘ Invalidates the caches of all of this add-in’s controls 
End Sub

您可能還會發現IRibbonUI界面的InvalidateControl方法很有幫助。 它使功能區用戶界面上單個控件的緩存值無效。

在以下系列文章中了解有關Ribbon UI的更多信息:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM