다음을 통해 공유


방법: 추가 기능 단추에 사용자 지정 아이콘 표시

Visual Studio의 추가 기능은 Visual Studio 2013에서 사용되지 않습니다. 추가 기능을 VSPackage 확장으로 업그레이드하는 것이 좋습니다. 업그레이드에 대한 자세한 내용은 FAQ: VSPackage 확장으로 추가 기능 변환 을 참조하십시오.

추가 기능 옆에 표시되는 기본 아이콘(웃는 얼굴)을 방법: 추가 기능의 기본 아이콘 변경에 설명된 미리 정의된 표준 아이콘 이외의 아이콘으로 바꿀 수 있습니다.

다음과 같이 하면 됩니다.

  • 아이콘 비트맵을 프로젝트에서 리소스로 추가합니다.

  • AddNamedCommand2 메서드의 MSOButton 매개 변수를 false로 설정하여 메서드가 아이콘 비트맵을 찾도록 합니다.

  • 추가 기능 프로젝트의 명령 모음 부분에서 해당 리소스의 ID 번호를 참조합니다.

다음 절차에서는 추가 기능 단추에 사용자 지정 아이콘을 추가하는 방법을 보여 줍니다.

참고

표시되는 대화 상자와 메뉴 명령은 활성 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다.이러한 절차는 일반 개발 설정을 사용하여 개발되었습니다.설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다.자세한 내용은 Visual Studio에서 개발 설정 사용자 지정을 참조하십시오.

추가 기능 프로젝트에 사용자 지정 비트맵을 추가 기능 단추 아이콘으로 추가하려면

  1. Visual Studio에서 기존 추가 기능 솔루션을 열거나 새 추가 기능 솔루션을 만듭니다.

  2. 추가 기능 프로젝트에 새 리소스 파일을 추가합니다. 이를 위해 다음을 수행합니다.

    1. 솔루션 탐색기에서 추가 기능 프로젝트를 마우스 오른쪽 단추로 클릭합니다.

    2. 추가 메뉴에서 새 항목을 선택합니다.

    3. 템플릿 목록에서 리소스 파일을 선택하고 추가 단추를 클릭합니다. 기본 이름(Resources1.resx)은 그대로 둡니다.

      이렇게 하면 Visual Studio 리소스 편집기가 시작됩니다.

  3. 리소스 파일이 솔루션 탐색기에 표시되지 않으면 도구 모음에서 모든 파일 표시 단추를 클릭합니다.

  4. 추가 기능에는 비트맵 인수로 정수 값이 필요합니다. 이 속성을 설정하면 리소스 파일을 편집하여 비트맵 리소스에 숫자 식별자를 지정할 수 있습니다. 이는 .resx 파일이 추가 기능 프로젝트의 일부인 경우에는 불가능합니다.

  5. 리소스 편집기에서 리소스 추가를 클릭한 다음 드롭다운에서 새 이미지를 선택한 후 BMP 이미지를 선택합니다. 지금은 기본 이름(Image1.bmp)을 그대로 둡니다.

    또는 크기가 16 x 16픽셀이고 16색 또는 트루 컬러인 기존 비트맵 이미지를 선택할 수도 있습니다. 추가 기능용 사용자 지정 아이콘은 크기가 16 x 16픽셀이어야 하고 16색 또는 트루 컬러여야 합니다.

  6. 비트맵 속성 창에서 높이너비 속성을 모두 16으로 변경합니다. 속성은 16색 또는 트루 컬러로 설정합니다.

  7. 새 비트맵을 만든 경우 리소스 편집기에서 그림을 편집합니다.

  8. 추가 기능과 관련된 Connect 클래스를 엽니다. AddNamedCommand2 줄의 OnConnection 메서드에서 MSOButton 매개 변수 값을 true에서 false로, Bitmap 매개 변수 값을 59에서 1로 변경합니다. 예를 들면 다음과 같습니다.

    command = commands.AddNamedCommand2(_addInInstance, "MyAddin1", " 
    MyAddin1", "Executes the command for MyAddin1", False, 1, Nothing, 
    CType(vsCommandStatus.vsCommandStatusSupported, Integer) + 
    CType(vsCommandStatus.vsCommandStatusEnabled, Integer), 
    vsCommandStyle.vsCommandStylePictAndText, 
    vsCommandControlType.vsCommandControlTypeButton)
    
    Command command = commands.AddNamedCommand2(_addInInstance, 
    "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", false, 
    1, ref contextGUIDS, 
    (int)vsCommandStatus.vsCommandStatusSupported+(int)vsCommandStatus.
    vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, 
    vsCommandControlType.vsCommandControlTypeButton);
    

    MSOButton 인수를 false로 설정하면 추가 기능은 리소스 파일에서 단추 비트맵을 찾습니다. 1이라는 숫자는 해당 비트맵의 식별자입니다. 이 식별자는 이후 단계에서 설정됩니다.

  9. 작업이 끝나면 파일 메뉴에서 모두 저장을 선택하고 빌드 메뉴에서 솔루션 빌드를 선택한 다음 프로젝트를 언로드합니다. 이렇게 하려면 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 프로젝트 언로드를 클릭합니다.

  10. 파일 탐색기에서 메모장 를 사용하여 Resource1.resx 파일을 편집합니다.

  11. "Image1"이라는 문자열을 모두 찾아 "1"로 바꿉니다. 작업이 끝나면 파일을 저장합니다.

  12. 추가 기능의 \Resources 폴더에서 비트맵 파일 이름을 Image1.bmp에서 1.bmp로 변경합니다.

  13. 추가 기능 프로젝트를 다시 로드하고(솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 프로젝트 다시 로드 클릭) 실행합니다.

  14. 도구 메뉴를 클릭합니다.

    도구 메뉴에 사용자 지정 아이콘과 함께 추가 기능이 표시됩니다.

네이티브 C++ 추가 기능에 사용자 지정 비트맵을 추가 기능 단추 아이콘으로 추가하려면

  1. 위에서 설명한 것과 동일한 절차를 수행하되 다음과 같은 항목을 변경합니다.

  2. 새 Visual C++ Win32 DLL 프로젝트를 만듭니다.

  3. 리소스 파일(.rc)을 추가합니다.

  4. 리소스 뷰에서 비트맵(16 x 16)을 추가하고 숫자 ID를 부여합니다.

    비트맵은 크기가 16 x 16픽셀이어야 하고 16색 또는 트루 컬러여야 합니다.

  5. Connect.cpp의 AddNamedCommand2 메서드를 업데이트하여 MSOButton을 VARIANT_FALSE로, Bitmap을 앞서 할당한 비트맵 ID로 설정합니다.

  6. DLL을 빌드합니다.

  7. 네이티브 추가 기능 DLL 디렉터리에 "1033"(영어 로캘) 하위 폴더를 만듭니다.

  8. 위성 DLL을 "1033" 디렉터리에 복사합니다.

  9. AddIn.rgs를 열고 두 레지스트리 키 값 "SatelliteDllName"과 "SatelliteDllPath"를 추가합니다. 예를 들면 다음과 같습니다.

    HKCU
    {
       NoRemove 'SOFTWARE'
       {
          NoRemove 'Microsoft'
          {
             NoRemove 'VisualStudio'
             {
                NoRemove '8.0'
                {
                   NoRemove 'AddIns'
                   {
                      ForceRemove 
                        'NativeAddinCustBitmap.Connect'
                         {
                           val LoadBehavior = d 0
                           val CommandLineSafe = d 0
                           val CommandPreload = d 1
                           val FriendlyName = s 'NativeAddinCustBitmap'
                           val Description = s 'NativeAddinCustBitmap 
                             Description'
                           val SatelliteDllName = s  
                             'NativeAddinCustBitmapUI.dll'
                           val SatelliteDllPath = s 
                             'C:\Test\CustomBitmap\NativeAddinCustBitmap
                             \NativeAddinCustBitmap\Debug'
                         }
                      }
                   }
                }
             }
          }
       }
    

    "SatelliteDllPath"에서 경로에 로캘 ID를 추가하지 마십시오. 이는 런타임에 자동으로 추가됩니다.

  10. 추가 기능을 다시 빌드하여 업데이트된 정보를 등록합니다.

참고 항목

작업

방법: 추가 기능의 기본 아이콘 변경

방법: 추가 기능을 도구 모음의 단추로 표시

개념

도구 모음 및 메뉴에 추가 기능 표시