다음을 통해 공유


값 맵 주석 사용

값 맵을 만들려면

  1. 매핑 문자열을 만듭니다.

    매핑 문자열은 유니코드에서 사람이 읽을 수 있는 문자열에 해당하는 컨트롤의 숫자 값 목록입니다. "A:"로 시작하고 사용된 인덱스 유형을 나타내는 숫자로 시작합니다. 이미지 인덱스만 지원됩니다. 따라서 인덱스 형식은 항상 0입니다.

    문자열 뒤에 :index:result 쌍이 잇습니다. "인덱스"는 List-View 또는 트리 뷰의 이미지 인덱스 또는 슬라이더 컨트롤의 값을 나타내는 숫자입니다.

    결과 값은 목록 보기 또는 트리 뷰 컨트롤에 대한 Role 또는 State 속성을 매핑할 때 얻은 숫자입니다. 이러한 숫자는 "0x" 접두사를 사용하여 10진수 또는 16진수로 표현됩니다.

    매핑 문자열은 항상 최종 콜론(":")으로 종료됩니다.

    다음은 목록 보기 또는 트리 뷰 컨트롤에 있는 검사 상자의 상태 및 역할 속성에 대한 주석 맵의 예입니다. 보기에는 검사 상자를 나타내는 두 개의 항목이 있으며 각 항목에는 선택됨 및 선택되지 않은 상태에 해당하는 이미지가 있습니다.

    LPCWSTR g_ListOrTreeStateMap = 
    L"A:0"     // Index type; always 0. !
    L":0:0x00" // Image 0 is normal !
    L":1:0x10" // Image 1 is checked - STATE_SYSTEM_CHECKED (0x10) !
    L":";
    
    LPCWSTR g_ListOrTreeRoleMap = 
    L"A:0"     // Index type; always 0. !
    L":0:0x2C" // Image 0 is a check box - ROLE_SYSTEM_CHECKBUTTON
    (0x2c) !
    L":1:0x2C" // image 1 is also a check box !
    L":";
    

    유효한 역할 및 상태 값은 개체 역할개체 상태 상수를 참조하세요.

    슬라이더 컨트롤의 속성을 매핑할 때 인덱스 값은 음수일 수 있습니다.

    Value 또는 Description 속성을 매핑하면 결과는 문자열입니다. 문자열은 따옴표가 붙지 않으며 콜론은 구분 기호 역할을 합니다.

    자세한 내용은 주석 맵 형식을 참조하세요.

  2. 주석 관리자를 만들고IAccPropServices인터페이스에 대한 포인터를 가져옵니다.

    다음은 주석 관리자를 만드는 방법의 예입니다.

    IAccPropServices * pAccPropSvc = NULL;
    HRESULT hr = CoCreateInstance(CLSID_AccPropServices, NULL,
    CLSCTX_SERVER, IID_IAccPropServices, (void**) & pAccPropSvc));
    
    
  3. 매핑 문자열을 컨트롤에 연결합니다.

    IAccPropServices::SetHwndPropStr를 호출하여 컨트롤의 HWND와 매핑 문자열에 대한 포인터를 전달합니다.

    IdProp 매개 변수는 다음 중 하나입니다.

    매개 변수 사용 대상
    MSAAPROPID_ROLEMAP 목록 보기 또는 트리 뷰 컨트롤에 대한 역할 맵을 설정하려면
    MSAAPROPID_STATEMAP 목록 보기 또는 트리 뷰 컨트롤에 대한 상태 맵을 설정하려면
    PROPID_ACC_DESCRIPTIONMAP 목록 보기 또는 트리 뷰에 대한 설명 맵을 설정하려면
    MSAAPROPID_VALUEMAP 슬라이더 컨트롤에 값 맵을 설정하려면

     

  4. 정리합니다.

    값 맵 주석이 추가된 컨트롤을 삭제하기 전에(예: WM_DESTROY 처리할 때) 이전에 등록된 속성을 지우고 주석 관리자를 해제해야 합니다.

    이렇게 하려면 IAccPropServices::ClearHwndProps 를 적절하게 호출하고 IAccPropServices에 대한 포인터를 해제합니다.

샘플 코드는 값 맵 주석 샘플을 참조하세요.