서버 개발자는 창 기반 UI 요소, 창 없는 UI 요소 및 고도로 사용자 지정된 동작이 있는 UI 요소를 포함하여 모든 UI 요소에 대해 적절한 WinEvents가 생성되도록 해야 합니다.
USER는 표준 HWND기반 UI 요소에 대한 기본 WinEvent 지원을 제공합니다. USER는 이러한 이벤트를 자동으로 생성하기 때문에 서버는 사용자 지정 컨트롤, 창 없는 요소 또는 사용자가 이벤트를 아직 생성하지 않은 컨트롤에 대해서만 이벤트를 생성해야 합니다.
이벤트를 보내기 위해 서버는 NotifyWinEvent을 호출하고, 클라이언트 요청에 응답할 수 있는 창과 관련된 이벤트 상수, 개체 ID 및 HWND를 전달합니다. 발생해야 하는 이벤트는 UI 요소의 유형에 따라 달라집니다. 모든 컨트롤에 대해 전송해야 하는 일반 이벤트와 적절한 UI 요소에 대해서만 전송해야 하는 특정 이벤트가 있습니다.
일반 이벤트
모든 UI 요소에 대해 일반 WinEvents를 보낼 수 있습니다. 여기에는 다음이 포함되었습니다.
- EVENT_OBJECT_CREATE(개체를 만들 때)
- EVENT_OBJECT_DESTROY(개체가 제거된 경우)
- EVENT_OBJECT_SHOW(개체가 표시되는 경우)
- EVENT_OBJECT_HIDE(개체가 숨겨진 경우)
특정 이벤트
특정 유형의 UI 요소에 대해 보낼 수 있는 특정 WinEvents도 있습니다. 예를 들어 사용자가 목록 상자와 같이 선택할 수 있는 컨트롤에 EVENT_OBJECT_SELECTION 사용합니다.
특정 유형의 UI 요소에 대해 예상되는 이벤트에 대한 자세한 내용은 다음 리소스를 참조하세요.
- 부록 A: 지원되는 사용자 인터페이스 요소 참조. 이 부록에는 Microsoft Active Accessibility에서 노출하는 시스템 생성 UI 요소에 대한 정보가 포함되어 있습니다. 각 컨트롤에 대한 설명서에는 UI 요소에서 생성할 수 있는 이벤트에 대한 정보가 포함되어 있습니다.
- 이벤트 상수. 이 항목에는 운영 체제 및 서버 애플리케이션에서 생성된 이벤트에 대한 정보가 포함되어 있습니다.
- Accessible Event Watcher(AccEvent.exe). 이 도구는 사용자가 특정 UI 요소에 대해 보내는 이벤트를 보여 줍니다. 이 도구를 사용하여 UI 요소에 대해 예상할 수 있는 이벤트를 알아볼 수 있습니다. 자세한 내용은 Accessible Event Watcher참조하세요.