Làm thế nào để thiết lập các mặt nạ và thuộc tính hình ảnh cho Office XP CommandBars

Hỗ trợ dành cho Office 2003 đã kết thúc

Microsoft đã kết thúc hỗ trợ dành cho Office 2003 vào ngày 8 tháng 4 năm 2014. Thay đổi này đã ảnh hưởng đến các bản cập nhật phần mềm và các tùy chọn bảo mật của bạn. Tìm hiểu ý nghĩa của điều này với bạn và cách thực hiện để luôn được bảo vệ.

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:286460
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
TÓM TẮT
Microsoft Office XP giới thiệu hai thuộc tính mới để các CommandBarButton đối tượng: các Mặt nạHình ảnh bất động sản. Bạn có thể sử dụng các thuộc tính này đặt hình ảnh trên tùy chỉnh tạo ra lệnh thanh điều khiển.

Chú ý Các đặc tính này cũng có sẵn trong Microsoft Office 2003.
THÔNG TIN THÊM
Các Mặt nạHình ảnh thuộc tính được định nghĩa là loại IPictureDisp, đó là một thành viên của thư viện Stdole. IPictureDisp sử dụng phương pháp không thể được marshalled trên ranh giới tiến trình. Vì vậy, các Mặt nạHình ảnh thuộc tính chỉ có thể được gọi là trong quá trình (VBA macro, tự động hóa Add-Ins, và ActiveX DLLs chạy trong tiến trình). Xem phần "Tham khảo" cho biết thêm thông tin liên quan đến hành vi này.

Mẫu dưới đây cho thấy như thế nào để tạo ra một tự động hóa Add-in cho thêm một CommandBar nút với một đeo mặt nạ hình ảnh.

Các bước để tạo ra hình ảnh cho hình ảnh và mặt nạ

  1. Bắt đầu Microsoft Paint. Trên các Hình ảnh trình đơn, nhấp vào Thuộc tính. Thay đổi kích thước hình ảnh 32 x 32 và nhấp vào Ok.
  2. Vẽ một khuôn mặt màu vàng trên bề mặt sơn. Điền vào khu vực xung quanh trong vòng tròn với màu xanh.

    Hình ảnh của mẫu Picture.bmp. Bước				để tái tạo hình ảnh này được đưa ra trong bài viết này.
  3. Lưu hình ảnh như Circle.bmp.
  4. Để tạo ra mặt nạ, điền vào các vòng tròn với màu đen và điền vào các khu vực bên ngoài vòng tròn với màu trắng. Khi bức tranh với mặt nạ sẽ được thêm vào kiểm soát CommandBar, các khu vực màu đen của mặt nạ có thể nhìn thấy, trong khi các các khu vực màu trắng là minh bạch.

    Hình ảnh của mẫu Mask.bmp. Bước để				re-create hình ảnh này được đưa ra trong bài viết này.
  5. Lưu hình ảnh như Mask.bmp.

Các bước để tạo COM AddIn


  1. Bắt đầu Visual Basic và tạo ra một AddIn mới dự án.
  2. Trên các Dự án trình đơn, nhấp vào Tham khảo. Nếu một văn phòng Microsoft"" loại thư viện sớm hơn so với phiên bản XP là đã chọn, rõ ràng rằng loại thư viện và chọn thư viện kiểu cho Microsoft Văn phòng XP. Nhấp vào Ok.
  3. Trong dự án Explorer, nhấp chuột phải frmAddin và sau đó nhấp vào Loại bỏ frmAddin.
  4. Trong dự án Explorer, bấm đúp vào các Kết nối nhà thiết kế. Cho Ứng dụng chọn Microsoft Excel, và cho Đầu tiên tải hành vi chọn Khởi động.
  5. Trên các Xem trình đơn, nhấp vào Mã và thay thế mã cho các Add-in với các điều sau đây:
    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. Lưu dự án và xây dựng các Add-in trong thư mục trong các ảnh bitmap được lưu trữ.
  7. Khởi động Excel. Một điều khiển mới với một vòng tròn màu vàng sẽ xuất hiện trên CommandBar tiêu chuẩn. Lưu ý rằng khu vực xung quanh trong vòng tròn màu vàng minh bạch.

Thêm ghi chú

Như đã nêu, các IPictureDisp giao diện không thể được marshalled trên ranh giới tiến trình. Cố gắng để thiết lập các Hình ảnhMặt nạ thuộc tính ra của quá trình kết quả trong sau đây lỗi:
Thời gian chạy lỗi '-2147418113(8000ffff)':
Phương pháp 'Hình ảnh' đối tượng '_CommandBarButton' thất bại
Vì vậy, bạn không thể thiết lập các tài sản cho một CommandBarButton từ bất kỳ khách hàng tự động hóa ra quá trình hoặc từ một trong quá trình thành phần đang chạy trong chế độ gỡ lỗi trong IDE Visual Basic. Nếu bạn chạy các mẫu Add-in mô tả trong bài viết này từ IDE Visual Basic, bạn sẽ nhận được lỗi này. Để tránh lỗi trong khi gỡ lỗi, bạn có thể bình luận các dòng đó tập các Hình ảnhMặt nạ thuộc tính hoặc sử dụng có điều kiện biên soạn, chẳng hạn như một # Nếu...Sau đó... # khác chỉ thị.
THAM KHẢO
Để biết thêm chi tiết, nhấp vào số bài viết sau để xem các bài viết trong cơ sở kiến thức Microsoft:
238228Làm thế nào để xây dựng một văn phòng 2000 COM Thêm vào trong Visual Basic
230689 MẪU: Comaddin.exe Office 2000 COM Add-In được viết bằng Visual c ++
150034 PRB: LPPICTUREDISP không thể được thông qua trên ranh giới tiến trình
Để biết thêm chi tiết, xem Microsoft sau Web site:
hình ảnh mặt nạ addin ipicturedisp

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 286460 - Xem lại Lần cuối: 12/06/2015 00:09:14 - Bản sửa đổi: 2.0

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Word 2002 Standard Edition, 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 kbautomation kbhowto kbmt KB286460 KbMtvi
Phản hồi