Jak nastavit vlastnosti obrázku a maska Office XP CommandBars

Překlady článku Překlady článku
ID článku: 286460 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Microsoft Office XP zavádí dvě nové vlastnosti objektu CommandBarButton: vlastnosti mask a obrázek. Tyto vlastnosti můžete umístit na vlastní příkaz generované panelu ovládací prvky obrázků.

Poznámka: Tyto vlastnosti jsou také k dispozici v aplikaci Microsoft Office 2003.

Další informace

Vlastnosti mask a obrázek jsou definovány jako typ IPictureDisp, který je členem knihovny Stdole. IPictureDisp používá metody nelze marshalled přes hranice procesu. Proto vlastnosti mask a obrázek lze volat pouze v procesu (makra VBA automatizace doplňky a spustit v procesu ActiveX DLL). Další informace týkající se toto chování naleznete v "Odkazy".

Ukázkové níže ukazuje, jak vytvořit automatizace doplněk, který přidá tlačítko CommandBar s Maskované obrázek.

Kroky vytvoření obrázků pro obrázek a masky

  1. Spustit Malování. V nabídce obraz klepněte atributy. Změnit velikost obrázku 32 x 32 a klepněte na tlačítko OK.
  2. Kreslení žlutý obličej na povrch Malování. Vyplnit oblast kolem kruh s modrou.

    Zmenšit tento obrázekZvětšit tento obrázek
    Picture of sample Picture.bmp. Steps
				to re-create this image are given in this article.
  3. Uložit obrázek jako Circle.bmp.
  4. Vytvořit masku vyplnit kruhu s černou a vyplnit oblasti mimo kruhu s bílou. Při obrázek s maskou je přidán ovládací prvek CommandBar, jsou viditelné, černých oblastí masku, zatímco bílé oblastí průhledné.

    Zmenšit tento obrázekZvětšit tento obrázek
    Picture of sample Mask.bmp. Steps to
				re-create this image are given in this article.
  5. Uložit obrázek jako Mask.bmp.

Kroky vytvoření doplňků COM


  1. Spustit jazyka a vytvořit nové AddIn projektu.
  2. V nabídce projekt klepněte na odkazy. Pokud knihovna typů "Microsoft Office" starší než verze XP zaškrtnuto, zrušte, zadejte knihovny a vyberte typ knihovny pro sadu Microsoft Office XP. Klepněte na tlačítko OK.
  3. V Průzkumníku Project frmAddin klepněte pravým tlačítkem myši a potom klepněte na tlačítko Odebrat frmAddin.
  4. V aplikaci Project Explorer poklepejte na položku Návrhář připojit. Pro aplikaci vyberte Uzavřený a pro Počáteční chování zatížení vyberte spouštění.
  5. V nabídce Zobrazit klepněte na možnost Kód a nahraďte kód pro přidat - s v:
    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. Uložte projekt a sestavení doplněk ve složce, ve kterém jsou uloženy rastrové obrázky.
  7. Spusťte aplikaci Excel. Nový ovládací prvek s žlutém kruhu se zobrazí na standardní CommandBar. Všimněte si, že je průhledné oblasti kolem žlutém kruhu.

Další poznámky

Jako dříve uvedeného nemůže být rozhraní IPictureDisp marshalled přes hranice procesu. Systém se pokusí nastavit výsledek out-of-process obrázků a Maska vlastnosti v následující chybě:
Chyba při spuštění '-2147418113(8000ffff) ':
Metoda 'Obrázek' objektu '_CommandBarButton' se nezdařila
Proto nelze nastavit tyto vlastnosti pro CommandBarButton z libovolného klienta automatizace procesu out nebo součást v procesu, která je spuštěna v režimu ladění v IDE jazyka. Spustit ukázkový doplněk popsané v tomto článku z jazyka IDE, obdržíte tuto chybu. Chcete-li se vyhnout při ladění, můžete komentář řádky, nastavit vlastnosti obrázku a Maska nebo použít podmíněné kompilace, například #If... pak... #Else direktivy.

Odkazy

Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
238228Jak vytvořit Office 2000 COM doplněk v jazyka
230689UKÁZKOVÝ: Comaddin.exe 2000 COM doplněk Office zapsaných v jazyce C++
150034PRB: LPPICTUREDISP nemůže být předané přes hranice procesu
Další informace naleznete na následujícím webu:
http://support.microsoft.com/ofd

Vlastnosti

ID článku: 286460 - Poslední aktualizace: 29. ledna 2007 - Revize: 4.6
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbmt kbautomation kbhowto KB286460 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:286460

Dejte nám zpětnou vazbu

 

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