Office XP CommandBars 마스크 및 그림 속성 설정 방법

기술 자료 번역 기술 자료 번역
기술 자료: 286460 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft Office XP CommandBarButton 개체에 두 개의 새 속성을 소개합니다: 마스크그림 속성을. 이러한 속성은 그림이 생성된 사용자 지정 명령 모음 컨트롤을 배치할 수 있습니다.

참고 이러한 속성을 Microsoft Office 2003에서 사용할 수 있습니다.

추가 정보

Mask그림 속성은 Stdole 라이브러리의 멤버 인 IPictureDisp, 형식으로 정의됩니다. IPictureDisp 프로세스 경계에 걸쳐 배열된 수 메서드를 사용합니다. 따라서, 마스크그림 속성을 대해서만 in-process 호출할 수 있습니다 (VBA 매크로를, 자동화 추가 기능 및 ActiveX DLL을 프로세스 실행). 이 동작에 대한 자세한 내용은 "참조" 절을 참조하십시오.

아래 예제에서는 자동화 추가 마스크된 그림으로 CommandBar 단추를 추가하는 기능에서 만드는 방법을 보여 줍니다.

그림 및 사용하여 마스크 이미지를 만드는 단계

  1. Microsoft 그림판 시작하십시오. 이미지 메뉴에서 속성 을 클릭하십시오. 32 x 32 이미지 크기를 변경한 다음 확인 을 클릭하십시오.
  2. 노란색 표면 그리기 화면에 그립니다. 파란색 원으로 주변 영역을 채웁니다.

    그림 축소그림 확대
    Picture of sample Picture.bmp. Steps
				to re-create this image are given in this article.
  3. 이미지를 Circle.bmp 파일로 저장하십시오.
  4. 마스크를 만들려면 함께 검정 원 채우고 원 밖에서 영역을 흰색으로 채우기. 마스크가 그림 CommandBar 컨트롤에 추가될 때 흰색 영역은 투명한 동안에는 마스크의 검정 영역 표시됩니다.

    그림 축소그림 확대
    Picture of sample Mask.bmp. Steps to
				re-create this image are given in this article.
  5. 이미지를 Mask.bmp 파일로 저장하십시오.

COM AddIn 만드는 단계


  1. Visual Basic 시작하고 새 AddIn 만들 프로젝트.
  2. 프로젝트 메뉴에서 참조 를 누릅니다. "Office 형식 라이브러리를 경우 XP 선택한 버전보다 이전, 일반 해당 형식 라이브러리 및 Microsoft Office XP에 대한 형식 라이브러리를 선택합니다. 확인 을 클릭하십시오.
  3. 프로젝트 탐색기에서 frmAddin 마우스 오른쪽 단추로 클릭한 다음 frmAddin 제거 를 클릭하십시오.
  4. 프로젝트 탐색기에서 연결 디자이너를 두 번 클릭하십시오. 응용 프로그램에 대한 Microsoft Excel 을 선택하고 시작초기 로드 동작 선택하십시오.
  5. 보기 메뉴에서 코드 를 클릭하여 및 추가 - 함께 다음 코드를 바꿉니다:
    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. 프로젝트를 저장하고 추가 기능의 비트맵이 저장된 폴더에 빌드하십시오.
  7. Excel을 시작하십시오. 노란색 원 있는 새 컨트롤이 표준 CommandBar 따라 나타납니다. 영역 주위에 노란색 원 투명합니다 유의하십시오.

추가 정보

앞에서 설명한 것처럼 IPictureDisp 인터페이스 프로세스 경계에 걸쳐 배열된 수 없습니다. 다음 오류 그림마스크 속성을 out-of-process 결과 설정하려고 시도합니다.
런타임 오류 '-2147418113(8000ffff) ':
'_CommandBarButton' 개체의 ' 그림' 메서드가 실패했습니다.
따라서 모든 out-of-process 자동화 클라이언트에서 또는 Visual Basic IDE 디버그 모드에서 실행 중인 프로세스 구성 요소에서 CommandBarButton에 대해 이러한 속성을 설정할 수 없습니다. 추가-Visual Basic IDE에서 이 문서에 설명되어 있는 예제 실행하는 경우 이 오류를 메시지가 나타납니다. 디버깅하는 동안 오류가 발생하지 않도록 하려면 그림마스크 속성을 설정하거나 같은 조건부 컴파일을 사용하여 줄을 주석으로 있는 # If... Then... #Else 지시문을.

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
238228없는 Office 2000 COM 추가 기능 Visual Basic의 빌드 방법
230689예제: Comaddin.exe Office 2000 COM 추가 Visual C++에서 기록된 기능
150034PRB: 프로세스 경계 간 LPPICTUREDISP 성공 수 없다
자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://support.microsoft.com/ofd

속성

기술 자료: 286460 - 마지막 검토: 2007년 1월 29일 월요일 - 수정: 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
키워드:?
kbmt kbautomation kbhowto KB286460 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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