COMO: Definir as Propriedades Mask e Picture para um Botão CommandBar do Office 2003

Traduções deste artigo Traduções deste artigo
ID do artigo: 824017 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo-a-passo descreve como definir as propriedades Mask e Picture de um controle CommandBar do Microsoft Office 2003 a partir de uma extensão de código gerenciada criada com o Visual Studio Tools for the Microsoft Office System. A propriedade Picture permite que você configure a imagem que aparece em um controle CommandBar. A propriedade Mask pode ser usada para criar um plano de fundo transparente para aquela imagem.


Criar um Novo Projeto da Pasta de Trabalho do Visual Basic .NET Excel

  1. No menu Arquivo no Microsoft Visual Studio .NET 2003, aponte para Novo e clique em Projeto.

    A caixa de diálogo Novo Projeto aparece.
    1. Na lista Tipos de Projeto, expanda Projetos do Microsoft Office System e clique em Projetos do Visual Basic.
    2. Na lista Modelos, clique em Pasta de Trabalho do Excel.
    3. Na caixa Nome, digite ExcelCommandbar e clique em OK.

      O Assistente Projeto do Microsoft Office aparece.
    4. Clique em Concluir.
  2. No menu Projeto, clique em Adicionar Referência.

    A caixa de diálogo Adicionar Referência aparece.
    1. Clique na guia .NET. Na lista de componentes, clique em System.Drawing.dll e em Selecionar.
    2. Na lista de componentes, clique em stdole e em Selecionar.
    3. Clique em OK.
  3. Adicione a seguinte diretiva na parte superior de ThisWorkbook.vb:
    Imports System.Reflection

Adicionar Recursos de Imagem ao seu Projeto

Nesta seção, você irá adicionar dois recursos de imagem incorporados ao projeto. Um recurso é usado para a propriedade Picture do controle CommandBar. O outro recurso é usado para a propriedade Mask.

Adicionar um Recurso de Imagem ao seu Projeto que Funciona Como a Imagem para seu Controle CommandBar
  1. No menu Projeto, clique em Adicionar Componente. A caixa de diálogo Adicionar Novo Item aparece.
  2. Na lista Modelos, clique em Arquivo de Bitmap.
  3. Nomeie a imagem Picture.bmp e clique em Abrir.

    O bitmap é aberto para edição no Editor de Bitmap.
  4. No menu Exibir, clique em Janela de Propriedades. Defina as propriedades Width e Height do bitmap como 16.
  5. Preencha toda a área do bitmap com vermelho e desenhe um círculo verde no centro do bitmap.
  6. No Solution Explorer, clique com o botão direito do mouse em Picture.bmp e clique em Propriedades. Altere a propriedade Build Action para Embedded Resource.
  7. No menu Arquivo, clique em Salvar Picture.bmp.
Adicionar um Recurso de Imagem ao seu Projeto que Funciona Como a Máscara para sua Imagem do Controle CommandBar
  1. No Solution Explorer, clique em Picture.bmp.
  2. No menu Arquivo, clique em Copiar.
  3. No menu Arquivo, clique em Colar.

    É adicionado ao projeto um novo arquivo chamado Cópia de Picture.bmp.
  4. No Solution Explorer, clique com o botão direito do mouse em Mask.bmp e clique em Renomear. Mude o nome para Mask.bmp.
  5. No Solution Explorer, clique com o botão direito do mouse em Mask.bmp e clique em Abrir. Altere a cor do plano de fundo da imagem para branco e a cor do círculo para preto.

    Nota Quando a figura com a máscara for adicionada ao controle CommandBar, as áreas em preto da máscara estarão visíveis. As áreas em branco são transparentes.
  6. No menu Arquivo, clique em Salvar Mask.bmp.

Adicionar Código para Criar um CommandBar e Controle CommandBar

Nesta seção, você adiciona código ao projeto que carrega os recursos de imagem incorporados em fluxos, cria CommandBar e o controle CommandBar e define as propriedades Picture e Mask para o controle CommandBar.
  1. Adicione a seguinte variável do nível de classe à classe OfficeCodeBehind:
    WithEvents CBarButton As Office.CommandBarButton
  2. Adicione o seguinte código ao manipulador de eventos ThisWorkbook_Open em ThisWorkbook.vb:
         'Get a reference to this assembly.     Dim ThisAssembly As [Assembly]     ThisAssembly = [Assembly].GetExecutingAssembly()      'Load the Picture and the Mask image resources.     Dim imgStreamPic As System.IO.Stream, imgStreamMask As System.IO.Stream     imgStreamPic = ThisAssembly.GetManifestResourceStream("ExcelCommandBar.Picture.bmp")     imgStreamMask = ThisAssembly.GetManifestResourceStream("ExcelCommandBar.Mask.bmp")      'Obtain references to IPictureDisp for both images.     Dim ax As New MyAxHost     Dim Pic As stdole.IPictureDisp, Mask As stdole.IPictureDisp     Pic = ax.IPictureDisp(Drawing.Image.FromStream(imgStreamPic))     Mask = ax.IPictureDisp(Drawing.Image.FromStream(imgStreamMask))      'Add a temporary CommandBar and a CommandBar button.     Dim CBar As Office.CommandBar     CBar = ThisApplication.CommandBars.Add("My CommandBar", , , True)     CBarButton = CType(CBar.Controls.Add(Office.MsoControlType.msoControlButton), _                 Office.CommandBarButton)     CBarButton.Style = Office.MsoButtonStyle.msoButtonIconAndCaption     CBarButton.Caption = "My Button"     CBarButton.Tag = "My_Button"     CBarButton.Picture = Pic     CBarButton.Mask = Mask     CBar.Visible = True  
  3. Adicione a seguinte classe, MyAxHost, logo após o manipulador de eventos ThisWorkbook_Open em ThisWorkbook.vb:
    Public Class MyAxHost
    
        Inherits System.Windows.Forms.AxHost
    
        Public Sub New()
            MyBase.New("59EE46BA-677D-4d20-BF10-8D8067CB8B33")
        End Sub
    
        Public Shared Function IPictureDisp(ByVal Image As System.Drawing.Image) As stdole.IPictureDisp
            IPictureDisp = CType(AxHost.GetIPictureDispFromPicture(Image), stdole.IPictureDisp)
        End Function
    
    End Class
  4. Adicione a seguinte função à classe OfficeCodeBehind:
    Private Sub CBarButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton,  _
        ByRef CancelDefault As Boolean) Handles CBarButton.Click
        MessageBox.Show("You clicked My Button!")
    End Sub
  5. Pressione F5 para criar e executar o projeto.

    Note que ExcelCommandBar.xls é aberto no Excel. Quando a pasta de trabalho for aberta, My CommandBar aparece. My CommandBar possui um controle CommandButton com uma imagem transparente.


Referências

Para obter informações adicionais, clique no número abaixo para consultar o artigo na Base de Dados de Conhecimento da Microsoft:
286460 HOWTO: Set the Mask and Picture Properties for Office XP CommandBars

Propriedades

ID do artigo: 824017 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio Tools for the Microsoft Office System
  • Microsoft Office Excel 2003
  • Microsoft Office Word 2003
Palavras-chave: 
kbnosurvey kbarchive kbhowtomaster kbpia KB824017

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com