Nasıl yapılır: maske ve resim özellikleri için Office XP CommandBars ayarlayın...

Makale çevirileri Makale çevirileri
Makale numarası: 286460 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Microsoft Office XP CommandBarButton nesnesine iki yeni özellik sunar: maske ve özellikleri. Oluşturulan özel bir komut çubuğu denetimlere resim yerleştirmek için bu özellikleri'ni kullanabilirsiniz.

Not Bu özellikler Microsoft Office 2003'te kullanılabilir.

Daha fazla bilgi

Maske ve özelliklerini Stdole kitaplığı üyesi olan ıpicturedisp, türü olarak tanımlanır. Ipicturedisp işlem sınırları sıraya yöntemlerini kullanır. Bu nedenle, maske ve özelliklerini yalnızca işlem çağrılabilecek (VBA makrolarını, Otomasyon eklenti ve ActiveX DLL'leri işlem içi). Bu davranış hakkında daha fazla bilgi için "Başvurular" bölümüne bakın.

Aşağıdaki örnek, bir Otomasyon maskelenmiş bir resmi bir CommandBar düğme ekleyen eklenti oluşturulması gösterilmiştir.

Resim ve maske için görüntü oluşturmak için gereken adımları

  1. Microsoft Paint'i başlatın. Resim</a0> menüsünden, öznitelikler ' i tıklatın. Görüntü boyutu 32 x 32 değiştirin ve Tamam ' ı tıklatın.
  2. Sarı bir yüz boyama yüzeyine çizin. Mavi ile çember içine alanını doldurun.

    Bu resmi kapatBu resmi aç
    Picture of sample Picture.bmp. Steps
				to re-create this image are given in this article.
  3. Görüntüyü Circle.bmp kaydedin.
  4. Maske oluşturmak için <a0></a0>, siyah daire doldurma ve dışında dairenin alanı, beyaz renkle doldurun. Maske resimle CommandBar denetime eklendiğinde, sırasında beyaz alanlar saydam maske siyah alanlarını, görülebilir.

    Bu resmi kapatBu resmi aç
    Picture of sample Mask.bmp. Steps to
				re-create this image are given in this article.
  5. Görüntüyü Mask.bmp kaydedin.

COM eklenti oluşturmak için gereken adımları


  1. Visual Basic'ı başlatın ve yeni bir eklenti oluşturmak proje.
  2. Proje menüsünde Başvurular ' ı tıklatın. "Microsoft Office'i" tür kitaplığı, XP seçili sürümünden önceki açık, tür kitaplığına ve Microsoft Office XP için tür kitaplığı seçin. Tamam ' ı tıklatın.
  3. Proje Gezgini'nde, frmAddin ' ı sağ tıklatın ve sonra da <a2>frmAddin Kaldır</a2>'ı tıklatın.
  4. Proje Gezgini'nde, Bağlan Tasarımcısı'nı çift tıklatın. Uygulama için Microsoft Excel ' i seçin ve İlk yükleme davranışı için Başlangıç seçin.
  5. Görünüm menüsünde kodu ' ı tıklatın ve kodunu değiştirmek için eklenti - ile aşağıdaki:
    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. Projeyi kaydedin ve eklentinin bitmapler saklandığı klasörde oluşturun.
  7. Excel'i başlatın. Sarı bir daire ile yeni BIR denetim bir standart CommandBar görüntülenir. Sarı daire etrafına saydam olduğuna dikkat edin.

Ek notlar

Daha önce bildirilen olarak, ıpicturedisp arabirimi işlem sınırları sıraya edemiyor. Resim ve maskesi özellikleri işlem dışı sonucu şu hatayla ayarlama girişiminde bulunur:
Çalışma zamanı hatası '-2147418113(8000ffff) ':
'_CommandBarButton' nesnesinin ' resim' yöntemi başarısız oldu
Bu nedenle, herhangi bir istemciden işlem dışı otomasyonu veya Visual Basic IDE hata ayıklama modunda çalışan bir işlem içi bileşen için CommandBarButton bu özellikleri ayarlanamıyor. Örnek Visual Basic IDE gelen bu makalede açıklanan eklentisi çalıştırırsanız, bu hata iletisi alırsınız. Hata ayıklarken önlemek için <a0></a0>, Resim ve maskesi özelliklerini ayarlamak veya koşullu derleme, aşağıdaki gibi kullanın satırları açıklama bir #If... Then... #Else yönergesi.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
238228Bir Office 2000 COM eklentisi Visual Basic'te üretme
230689Örnek: Comaddin.exe Office 2000 COM Visual C++ ile yazılan eklentisi
150034: Sorun İşlem sınırları aktarılan açılamıyor LPPICTUREDISP
Daha fazla bilgi için aşağıdaki Microsoft Web sitesine bakın:
http://support.microsoft.com/ofd

Özellikler

Makale numarası: 286460 - Last Review: 29 Ocak 2007 Pazartesi - Gözden geçirme: 4.6
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbautomation kbhowto KB286460 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:286460

Geri Bildirim Ver

 

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