Cara menetapkan masker dan gambar properti untuk Office XP CommandBars

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 286460 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Microsoft Office XP memperkenalkan dua baru properti untuk CommandBarButton objek: Topeng dan Gambar properti. Anda dapat menggunakan properti ini untuk menempatkan gambar pada Custom dihasilkan perintah bar kontrol.

Catatan Sifat-sifat ini juga tersedia di Microsoft Office 2003.

INFORMASI LEBIH LANJUT

The Topeng dan Gambar properti didefinisikan sebagai jenis IPictureDisp, yang adalah anggota Stdole perpustakaan. IPictureDisp menggunakan metode yang tidak dapat marshalled di batas-batas proses. Oleh karena itu, Topeng dan Gambar properti hanya dapat disebut dalam proses (makro VBA, otomatisasi Add-ins, dan ActiveX dll dalam proses). Baca bagian "Referensi" untuk informasi lebih lanjut mengenai perilaku ini.

Contoh di bawah menunjukkan bagaimana untuk membuat otomatisasi Add-in yang menambahkan tombol CommandBar dengan bertopeng gambar.

Langkah-langkah untuk membuat gambar untuk gambar dan topeng

  1. Mulai Microsoft Paint. Pada Gambar menu, klik Atribut. Mengubah ukuran gambar untuk 32 x 32 dan klik Oke.
  2. Menggambar wajah kuning pada permukaan lukisan. Mengisi daerah mengelilingi lingkaran dengan biru.

    Perkecil gambar iniPerbesar gambar ini
    Gambar sampel Picture.bmp. Langkah-langkah

				untuk kembali menciptakan gambar ini diberikan dalam artikel ini.
  3. Simpan gambar tersebut sebagai Circle.bmp.
  4. Untuk membuat topeng, mengisi lingkaran dengan hitam dan mengisi daerah di luar lingkaran dengan putih. Ketika gambar dengan topeng ditambahkan ke kontrol CommandBar, daerah hitam topeng terlihat, sementara putih daerah transparan.

    Perkecil gambar iniPerbesar gambar ini
    Gambar sampel Mask.bmp. Langkah-langkah untuk

				Re-Create gambar ini diberikan dalam artikel ini.
  5. Simpan gambar tersebut sebagai Mask.bmp.

Langkah-langkah untuk membuat COM AddIn


  1. Mulai Visual Basic dan buat AddIn baru proyek.
  2. Pada Project menu, klik Referensi. Jika "Microsoft Office" ketik perpustakaan lebih awal dari versi XP adalah dipilih, jelas bahwa perpustakaan jenis dan pilih perpustakaan jenis untuk Microsoft Office XP. Klik Oke.
  3. Dalam proyek Explorer, klik kanan frmAddin kemudian klik Menghapus frmAddin.
  4. Dalam proyek Explorer, klik dua kali Menghubungkan desainer. Untuk Aplikasi Pilih Microsoft Excel, dan untuk Awal beban perilaku Pilih Permulaan.
  5. Pada Lihat menu, klik Kode dan mengganti kode untuk tambahan dengan berikut:
    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. Menyimpan proyek dan membangun Add-di dalam folder yang bitmaps disimpan.
  7. Mulai Excel. Kontrol baru dengan lingkaran kuning muncul di CommandBar standar. Perhatikan bahwa wilayah di sekitar lingkaran kuning transparan.

Catatan tambahan

Seperti yang dinyatakan sebelumnya, IPictureDisp antarmuka tidak marshalled melintasi batas-batas proses. Upaya untuk mengatur Gambar dan Topeng properti keluar dari proses mengakibatkan berikut kesalahan:
Galat run-time '-2147418113(8000ffff)':
Metode 'Gambar' dari objek '_CommandBarButton' gagal
Oleh karena itu, Anda tidak dapat mengatur properti ini untuk CommandBarButton dari klien otomasi keluar dari proses atau dari dalam proses komponen yang menjalankan dengan mode debug IDE Visual Basic. Jika Anda menjalankan contoh tambahan dijelaskan dalam artikel ini dari IDE Visual Basic, Anda akan menerima kesalahan ini. Untuk menghindari kesalahan sementara debugging, Anda dapat komentar baris yang ditetapkan Gambar dan Topeng properti atau menggunakan kompilasi bersyarat, seperti # Jika...Lalu... # lain petunjuk.

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel pada Basis Pengetahuan Microsoft:
238228Bagaimana membangun Office 2000 COM Add-In dalam Visual Basic
230689 CONTOH: Comaddin.exe Office 2000 COM Add-In ditulis dalam Visual c ++
150034 PRB: LPPICTUREDISP tidak dapat dilewatkan melintasi batas-batas proses
Untuk selengkapnya, lihat Microsoft berikut Situs web:
http://support.microsoft.com/ofd

Properti

ID Artikel: 286460 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Word 2002
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
Kata kunci: 
kbautomation kbhowto kbmt KB286460 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:286460

Berikan Masukan

 

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