다음을 통해 공유


메뉴 명령에 아이콘 추가

명령은 메뉴와 도구 모음 모두에 표시할 수 있습니다. 메뉴에서는 일반적으로 명령이 아이콘과 텍스트로 모두 표시되지만 도구 모음에서는 공간을 절약하기 위해 명령이 아이콘으로만 표시되는 것이 일반적입니다.

아이콘은 너비가 16픽셀이고 높이가 16픽셀이며 8비트 색 농도(256색) 또는 32비트 색 농도(트루 컬러)일 수 있습니다. 32비트 색 아이콘을 사용하는 것이 좋습니다. 아이콘은 일반적으로 단일 비트맵의 단일 가로 행에 정렬되지만 여러 비트맵이 허용됩니다. 이 비트맵은 비트맵에서 사용할 수 있는 개별 아이콘과 함께 .vsct 파일에 선언됩니다. 자세한 내용은 Bitmaps 요소에 대한 참조를 참조하세요.

명령에 아이콘 추가

다음 절차에서는 메뉴 명령을 포함하는 기존 VSPackage 프로젝트가 있다고 가정합니다. 이 작업을 수행하는 방법을 알아보려면 메뉴 명령으로 확장 만들기를 참조하세요.

  1. 색 농도가 32비트인 비트맵을 만듭니다. 아이콘은 항상 16 x 16이므로 이 비트맵은 높이가 16픽셀이고 너비가 16픽셀이어야 합니다.

    각 아이콘은 단일 행에서 서로 옆에 있는 비트맵에 배치됩니다. 알파 채널을 사용하여 각 아이콘의 투명도 위치를 나타냅니다.

    8비트 색 농도를 사용하는 경우 자홍색 RGB(255,0,255)를 투명도로 사용합니다. 그러나 32비트 색 아이콘을 사용하는 것이 좋습니다.

  2. VSPackage 프로젝트의 Resources 디렉터리에 아이콘 파일을 복사합니다. 솔루션 탐색기에서 프로젝트에 아이콘을 추가합니다. (리소스를 선택하고 상황에 맞는 메뉴에서 추가, 기존 항목을 차례로 클릭하고 아이콘 파일을 선택합니다.)

  3. 편집기에서 .vsct 파일을 엽니다.

  4. 이름이 testIconGuidSymbol 요소를 추가합니다. GUID를 만들고(도구>GUID 만들기), 레지스트리 형식을 선택한 다음, 복사 클릭하고 value 특성에 붙여넣습니다. 결과는 다음과 같습니다.

    <!-- Create your own GUID -->
    <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
    
  5. 아이콘에 대한 <IDSymbol>을 추가합니다. name 특성은 아이콘의 ID이며 value는 스트립의 위치를 나타냅니다(있는 경우). 아이콘이 하나만 있는 경우 1을 추가합니다. 결과는 다음과 같습니다.

    <!-- Create your own GUID -->
    <GuidSymbol name="testIcon" value="{00000000-0000-0000-0000-0000}">
        <IDSymbol name="testIcon1" value="1" />
    </GuidSymbol>
    
  6. .vsct 파일의 <Commands> 섹션 내 <Bitmaps> 섹션에서 <Bitmap> 비트맵을 생성하여 아이콘이 포함된 비트맵을 나타냅니다.

    • guid 값을 이전 단계에서 만든 <GuidSymbol> 요소의 이름으로 설정합니다.

    • href 값을 비트맵 파일의 상대 경로(이 경우 Resources\<아이콘 파일 이름>)로 설정합니다.

    • usedList 값을 이전에 만든 IDSymbol로 설정합니다. 이 특성은 VSPackage에서 사용할 아이콘의 쉼표로 구분된 목록을 지정합니다. 목록에 없는 아이콘은 컴파일에서 제외됩니다.

      비트맵 블록은 다음과 같이 표시됩니다.

      <Bitmap guid="testIcon" href="Resources\<icon file name>" usedList="testIcon1"/>
      
  7. 기존 <Button> 요소에서 Icon 요소는 이전에 만든 GUIDSymbol 및 IDSymbol 값으로 설정합니다. 해당 값을 포함하는 Button 요소의 예는 다음과 같습니다.

    <Button guid="guidAddIconCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button">
        <Parent guid="guidAddIconCmdSet" id="MyMenuGroup" />
        <Icon guid="testIcon" id="testIcon1" />
        <Strings>
            <ButtonText>My Command name</ButtonText>
        </Strings>
    </Button>
    
  8. 아이콘을 테스트합니다. 프로젝트를 빌드하고 디버깅을 시작합니다. 실험적 인스턴스에서 명령을 찾습니다. 추가한 아이콘이 표시됩니다.