Exemplo n.º 1
0
        /// <summary>
        /// Handle Focus Change event
        /// </summary>
        /// <param name="message"></param>

        private void onFocusChangedEventForSelectingElement(EventMessage message)
        {
            // only when focus is chosen for highlight
            if (message.EventId == EventType.UIA_AutomationFocusChangedEventId)
            {
                // exclude tooltip since it is transient UI.
                if (IsStarted && message.Element != null)
                {
                    var element = GetElementBasedOnScope(message.Element);

                    if (element != null && element.IsRootElement() == false &&
                        element.ControlTypeId != ControlType.UIA_ToolTipControlTypeId &&
                        element.IsSameUIElement(this.SelectedElementRuntimeId, this.SelectedBoundingRectangle, this.SelectedControlTypeId, this.SelectedName) == false)
                    {
                        this.SelectedElementRuntimeId  = element.RuntimeId;
                        this.SelectedBoundingRectangle = element.BoundingRectangle;
                        this.SelectedControlTypeId     = element.ControlTypeId;
                        this.SelectedName = element.Name;
                        this.SetElement?.Invoke(element);
                    }
                }
                else
                {
                    message.Dispose();
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handle Focus Change event
        /// </summary>
        /// <param name="message"></param>

        private void onFocusChangedEventForSelectingElement(EventMessage message)
        {
            // only when focus is chosen for highlight
            if (message.EventId == EventType.UIA_AutomationFocusChangedEventId)
            {
                // exclude tooltip since it is transient UI.
                if (IsStarted && message.Element != null)
                {
                    var element = GetElementBasedOnScope(message.Element);
                    if (element?.ControlTypeId != ControlType.UIA_ToolTipControlTypeId)
                    {
                        SelectElementIfItIsEligible(element);
                    }
                }
                else
                {
                    message.Dispose();
                }
            }
        }