Esempio n. 1
0
        /// <summary>
        /// Gets the value of the current slider control
        /// </summary>
        /// <param name="controlHandle">NativeWindowHandle to the target control</param>
        /// <returns>
        /// Value of the control
        /// </returns>
        /// <exception cref="ProdOperationException">Examine inner exception</exception>
        /// <remarks>
        /// Invalid for WPF controls
        /// </remarks>
        public static double SliderGetValue(IntPtr controlHandle)
        {
            try
            {
                AutomationElement control = CommonUIAPatternHelpers.Prologue(RangeValuePattern.Pattern, controlHandle);
                StaticEvents.RegisterEvent(RangeValuePattern.ValueProperty, control);
                double retVal = RangeValuePatternHelper.GetValue(control);

                if (retVal == -1)
                {
                    ProdSliderNative.GetValueNative(controlHandle);
                }

                LogController.ReceiveLogMessage(new LogMessage(control.Current.Name + " Value: " + retVal));
                return(retVal);
            }
            catch (InvalidOperationException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ElementNotAvailableException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
            catch (ArgumentException err)
            {
                throw new ProdOperationException(err.Message, err);
            }
        }
Esempio n. 2
0
        private static double NativeGetValue(BaseProdControl control)
        {
            if (control.UIAElement.Current.ControlType == ControlType.Spinner)
            {
                return(ProdSliderNative.GetValueNative((IntPtr)control.UIAElement.Current.NativeWindowHandle));
            }

            return(ProdSliderNative.GetValueNative((IntPtr)control.UIAElement.Current.NativeWindowHandle));
        }