Jak nastavit vlastnosti obrázku a maska Office XP CommandBars

Podpora Office 2003 byla ukončena.

Společnost Microsoft ukončila dne 8. dubna 2014 podporu Office 2003. Tato změna ovlivnila aktualizace softwaru a možnosti zabezpečení. Další informace o tom, co to pro vás znamená a jak zajistit ochranu

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
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
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.

    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é.

    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 ExplicitDim oExcel As ObjectDim WithEvents oButton As Office.CommandBarButtonPrivate 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 WithEnd SubPrivate 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 SubPrivate 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:
obrázek masku doplněk ipicturedisp

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 286460 - Poslední kontrola: 12/06/2015 00:09:04 - Revize: 4.6

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

  • kbnosurvey kbarchive kbmt kbautomation kbhowto KB286460 KbMtcs
Váš názor