2011-08-15 32 views
1

将显示标准Outlook图标的按钮添加到功能区非常简单。将按钮的属性OfficeImageId设置为已知的ID(例如“EncryptMessage”),就完成了。有关可能值的完整列表,请参阅Office 2010 Add-In: Icons GalleryOutlook 2010 VSTO - 表单区域中的标准办公室图标

现在我的问题是,我可以在窗体区域实现同样的事情吗?我的意思是,例如添加一个显示标准Office图标的PictureBox?显然没有OfficeImageId属性,但也许有人知道一个解决方法。

回答

3

您提供的链接转到Word 2010文档。我一直在使用带有功能区扩展功能的Excel 2007文档,其中显示了所有内置图标(“其他人下载”部分中的“2007 Office System加载项:图标库”)。在此工作簿中,您可以单击图标和VBA的形式显示了16x16和勇敢32x32的图标

这只是一个VBA形式有两个图片框的代码如下:。

Sub OnAction(control As IRibbonControl, id As String, index As Integer) 
    If (control.Tag = "large") Then 
     id = Strings.Mid(id, 3) 
    End If 

    Dim form As New ControlInfoForm 
    form.nameX.Caption = "imageMso: " & id 
    Set form.Image1.Picture = Application.CommandBars.GetImageMso(id, 16, 16) 
    Set form.Image2.Picture = Application.CommandBars.GetImageMso(id, 32, 32) 
    form.Show 
End Sub 

我希望这可以帮助你获得图片

+0

谢谢,这看起来很有希望,我今天下午试一试。 – doogu

+0

这样做的窍门。非常感谢。我也偶然发现了这个[链接](http://social.msdn .microsoft.com /论坛/ EN-US/VSTO /线程/ db1100b7-FACA-4361-822c-b05f08cfe3f5 /)。在那里他们讨论几乎相同的事情,但另外有人提供了一个方便的IPictureDisp图像转换方法(以防万一有人也需要这样做)。 – doogu