다음을 통해 공유


주석 컨트롤 패턴

속성 및 메서드에 대한 정보를 포함하여 IAnnotationProvider를 구현하기 위한 지침 및 규칙을 설명합니다. 주석 컨트롤 패턴은 문서에서 주석의 속성을 노출하는 데 사용됩니다.

한 가지 예는 문서의 여백에 있고 일부 문서 텍스트 또는 스프레드시트 셀에 연결된 주석 풍선입니다.

다음 그림에서는 주석의 예를 보여 줍니다. 이 컨트롤 패턴을 구현하는 컨트롤의 예는 컨트롤 형식 및 지원되는 컨트롤 패턴을 참조하세요.

문서의 주석 발룬을 보여 주는 스크린샷

이 항목에는 다음과 같은 섹션이 포함되어 있습니다.

구현 지침 및 규칙

주석 컨트롤 패턴을 구현할 때 다음 지침 및 규칙을 확인합니다.

  • 주석에는 다양한 종류의 주석이 있습니다. UIAutomationClient.h 헤더 파일은 Microsoft UI 자동화 지원하는 주석 유형을 식별하는 명명된 상수 값 집합을 정의합니다. 자세한 내용은 주석 형식 식별자를 참조하세요.
  • AnnotationType_Unknown 사용하는 경우 클라이언트가 주석 형식의 이름을 검색할 수 있도록 IAnnotationProvider::AnnotationTypeName 속성을 구현해야 합니다. UI 자동화 기본 이름을 제공하므로 표준 주석 형식에 대해 AnnotationTypeName을 구현할 필요가 없지만 기본 이름을 재정의해야 하는 경우 구현할 수 있습니다.
  • IAnnotationProvider::Author 속성은 선택 사항입니다.
  • IAnnotationProvider::D ateTime 속성은 선택 사항입니다.
  • IAnnotationProvider::Target 속성은 주석을 UI 요소에 연결하여 클라이언트가 주석에서 주석이 참조하는 UI 요소로 다시 이동할 수 있도록 하기 때문에 필요합니다.
  • 주석은 다양한 형식을 사용할 수 있으므로 IAnnotationProvider 인터페이스는 주석의 값이나 텍스트를 저장하기 위한 속성을 정의하지 않습니다. 간단한 주석은 IValueProvider 인터페이스를 노출해야 하며 IValueProvider::Value 속성은 주석 텍스트를 지정하는 읽기 전용 값을 반환해야 합니다. 더 풍부한 주석은 ITextProvider 인터페이스를 노출하여 클라이언트에 더 풍부한 텍스트를 제공해야 합니다.
  • UI 요소에서 요소에 대한 주석으로 탐색하는 것은 다음과 같이 주석이 추가되는 요소의 종류에 따라 달라집니다.
  • 일부 종류의 주석에는 IAnnotationProvider 인터페이스의 전체 구현이 필요하지 않습니다. 예를 들어 ITextRangeProvider 인터페이스가 AnnotationType_SpellingErrorAnnotationTypes 텍스트 특성과 AnnotationObjects 텍스트 특성에 대한 null 값을 반환하여 간단한 맞춤법 오류 표시기를 나타낼 수 있습니다.
  • 표시되지 않는 UI 요소에서 IAnnotationProvider 인터페이스를 구현하는 것이 유용할 수 있습니다. 예를 들어 IAnnotationProvider를 구현하여 문법 오류에 대한 확장 정보를 제공하는 보이지 않는 UI 자동화 요소를 만들 수 있습니다.
  • 컨트롤에 겹치는 주석이 포함된 경우 텍스트 기반 컨트롤의 주석은 복잡할 수 있습니다. 다음 지침을 사용하여 복잡한 주석을 처리합니다.
    • 주석이 없는 텍스트 범위는 AnnotationTypes 텍스트 특성의 빈 배열과 AnnotationObjects 텍스트 특성에 대한 빈 배열을 반환해야 합니다.
    • 하나의 주석이 있는 텍스트 범위는 AnnotationTypes 텍스트 특성에 대한 정수 값의 배열과 AnnotationObjects 텍스트 특성에 대한 하나의 IRawElementProviderSimple 인터페이스 배열을 반환해야 합니다.
    • 여러 주석이 있는 텍스트 범위는 AnnotationTypes 텍스트 특성에 대해 여러 정수 값의 배열과 AnnotationObjects 텍스트 특성에 대해 일치하는 수의 IRawElementProviderSimple 인터페이스 배열을 반환해야 합니다.
    • 주석이 추가된 텍스트와 주석이 없는 텍스트가 모두 있는 범위와 같이 다양한 주석이 있는 텍스트 범위는 AnnotationTypes 및AnnotationObjects 모두에 대해 ReservedMixedAttributeValue 속성을 반환해야 합니다. 이 응답을 수신하는 클라이언트는 텍스트 범위를 세분화하여 주석이 시작되고 끝나는 위치를 찾을 수 있습니다.

IAnnotationProvider에 필요한 멤버

IAnnotationProvider 인터페이스를 구현하려면 다음 속성이 필요합니다.

필요한 멤버 멤버 형식 참고
AnnotationTypeId 속성 없음
AnnotationTypeName 속성 없음
작성자 속성 없음
DateTime 속성 없음
대상 속성 없음

 

이 컨트롤 패턴에 연결된 이벤트가 없습니다.

컨트롤 형식 및 해당 지원되는 컨트롤 패턴

UI 자동화 컨트롤 패턴 개요

UI 자동화 트리 개요