주석 컨트롤 패턴
속성 및 메서드에 대한 정보를 포함하여 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 요소에서 요소에 대한 주석으로 탐색하는 것은 다음과 같이 주석이 추가되는 요소의 종류에 따라 달라집니다.
- 스프레드시트 셀의 경우 ISpreadsheetItemProvider::GetAnnotationObjects 메서드를 구현하여 주석을 참조합니다.
- 텍스트 콘텐츠의 경우 ITextRangeProvider 인터페이스에서 AnnotationObjects 텍스트 특성을 구현하여 주석을 참조합니다.
- 일부 종류의 주석에는 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 | 속성 | 없음 |
대상 | 속성 | 없음 |
이 컨트롤 패턴에 연결된 이벤트가 없습니다.
관련 항목