Gewusst wie: Festlegen der Maske und Bildeigenschaften für Office XP CommandBars

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 286460 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Microsoft Office XP führt zwei neue Eigenschaften in das CommandBarButton -Objekt: die Eigenschaften Mask und Bild . Diese Eigenschaften können Sie Bilder in benutzerdefinierten generierten Befehlsleisten-Steuerelemente platzieren.

Hinweis: Diese Eigenschaften sind auch in Microsoft Office 2003 verfügbar.

Weitere Informationen

Die Maske und Eigenschaften werden als Typ IPictureDisp definiert, die Mitglied der Stdole-Bibliothek ist. IPictureDisp verwendet Methoden, die über Prozessgrenzen hinweg gemarshallt werden können nicht. Daher der Maske und der Bild -Eigenschaft können nur aufgerufen werden in-Process (Automatisierung VBA-Makros Add-Ins und ActiveX-DLLs im Prozess ausführen). Finden Sie im Abschnitt "Informationsquellen" Weitere Informationen zu diesem Verhalten.

Im folgenden Beispiel veranschaulicht ein Automatisierungs-Add-in erstellen, mit einem maskiertes Bild eine Symbolleistenschaltfläche hinzugefügt.

Schritte zum Erstellen von Bildern für das Bild und der Maske

  1. Starten Sie Microsoft Paint. Klicken Sie im Bild auf Attribute . Ändern Sie Größe der Grafik zu 32 x 32, und klicken Sie auf OK .
  2. Zeichnen Sie ein gelbes Gesicht auf der Oberfläche zeichnen. Füllen Sie den Bereich um den Kreis mit Blau.

    Bild minimierenBild vergrößern
    Picture of sample Picture.bmp. Steps
				to re-create this image are given in this article.
  3. Speichern Sie das Bild als Circle.bmp.
  4. Um die Maske zu erstellen, füllen Sie den Kreis mit Schwarz und füllen Sie den Bereich außerhalb des Kreises mit weiß. Wenn das Bild mit der Maske für das CommandBar-Steuerelement hinzugefügt wird, sind die schwarze Bereiche der Maske sichtbar, während weiße Bereiche transparent sind.

    Bild minimierenBild vergrößern
    Picture of sample Mask.bmp. Steps to
				re-create this image are given in this article.
  5. Speichern Sie das Bild als Mask.bmp.

Schritte zum Erstellen des COM-AddIn


  1. Starten Sie Visual Basic und erstellen Sie ein neues Add-in-Projekt.
  2. Klicken Sie im Menü Projekt auf Verweise . Wenn älter als Version XP ausgewählt ist ein "Microsoft Office" Typ-Bibliothek, deaktivieren Sie die Bibliothek Typ, und wählen Sie die Typ-Bibliothek für Microsoft Office XP. Klicken Sie auf OK .
  3. Klicken Sie im Projekt-Explorer mit der rechten Maustaste auf FrmAddin und klicken Sie auf FrmAddin entfernen .
  4. Doppelklicken Sie im Projekt-Explorer auf den Designer Verbinden . Wählen Sie für Anwendung die Option Microsoft Excel , und für Erste Ladeverhalten wählen Starten .
  5. Im Menü Ansicht klicken Sie auf Code , und ersetzen den Code für die Add - in mit den folgenden:
    Option Explicit
    
    Dim oExcel As Object
    Dim WithEvents oButton As Office.CommandBarButton
    
    Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
     ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
     ByVal AddInInst As Object, custom() As Variant)
    
      Dim oPic As stdole.IPictureDisp
      Dim oMask As stdole.IPictureDisp
    
      ' Load the picture and mask.
      Set oPic = LoadPicture(App.Path & "\circle.bmp")
      Set oMask = LoadPicture(App.Path & "\mask.bmp")
    
      ' Save an instance of our application.
      Set oExcel = Application
      ' Create a new button on the standard CommandBar.
      Set oButton = oExcel.CommandBars("Standard").Controls.Add(msoControlButton)
      With oButton
        ' Set a tag for the button.
        .Tag = "My Button"
        ' Set the event to fire when the button is pressed.
        .OnAction = "!<" & AddInInst.ProgId & ">"
        ' Set the picture property -- if you are using the Mask property, this
        ' property must be set before you set the Mask property.
        .Picture = oPic
        ' Set the Mask property.
        .Mask = oMask
        ' Show the button.
        .Visible = True
      End With
    End Sub
    
    Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As _
       AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
    
       ' Delete the button.
       oButton.Delete
       ' Release references.
       Set oButton = Nothing
       Set oExcel = Nothing
     End Sub
    
    Private Sub oButton_Click(ByVal Ctrl As Office.CommandBarButton, _
      CancelDefault As Boolean)
      ' Our button was pressed.
      MsgBox "The button was pressed!"
    End Sub
    					
  6. Speichern Sie das Projekt und erstellen Sie das Add-in im Ordner, in dem die Bitmaps gespeichert werden.
  7. Starten Sie Excel. Ein neues Steuerelement mit einem gelben Kreis wird auf der standard CommandBar angezeigt. Beachten Sie, dass der Bereich um den gelben Kreis transparent ist.

Zusätzliche Hinweise

Wie bereits erwähnt kann nicht die IPictureDisp -Schnittstelle über Prozessgrenzen hinweg gemarshallt werden. Versucht, das Picture und Mask Eigenschaften Out-of-Process-Ergebnis in der folgenden Fehlermeldung festzulegen:
Laufzeitfehler '-2147418113(8000ffff) ':
Methode 'Grafik' des Objekts '_CommandBarButton' ist fehlgeschlagen
Daher können nicht Sie legen diese Eigenschaften für ein CommandBarButton von alle Out-of-Process-Automatisierungsclient oder eine in-Process-Komponente, die im Debugmodus in der Visual Basic-Entwicklungsumgebung ausgeführt wird. Wenn Sie das Beispiel-Add-in in diesem Artikel von der IDE von Visual Basic beschrieben ausführen, erhalten Sie diesen Fehler. Um den Fehler während des Debuggens zu vermeiden, können Sie die Zeilen, die Picture und Mask Eigenschaften festgelegt oder verwenden die bedingten Kompilierung, wie z. B. Kommentar eine # If... Then... # Else -Direktive.

Informationsquellen

Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
238228Erstellen einer Office 2000 COM Add-in in Visual Basic
230689Beispiel: Comaddin.exe Office 2000 COM Add-in in Visual C++ geschriebene
150034PRB: LPPICTUREDISP kann nicht über Grenzen hinweg Prozess weitergeleitet werden
Weitere Informationen finden Sie unter der folgenden Microsoft-Website:
http://support.microsoft.com/ofd

Eigenschaften

Artikel-ID: 286460 - Geändert am: Montag, 29. Januar 2007 - Version: 4.6
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • Microsoft Office FrontPage 2003
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
Keywords: 
kbmt kbautomation kbhowto KB286460 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 286460
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns