Slider Gadget changes
Changes with Window 1.83 - 1.85
Excessive generation of events
Previously whilst a slider was being dragged the gadget would repeatedly send itself Mouse_Click events (even if the mouse had yet to move). This meant that it was continually processing these events to no effect. This has been rectified, which makes other applications more responsive during a drag.
Previously when a Mouse_Click event was received the slider gadget would generate a Slider_ValueChanged event even if its value had not actually changed. We now notify the client application only when the value changes.
Step size enforcement
The Slider_SetValue method will now correctly lock the value selected to the step size. This had always been the intended operation, but the code had been non-functional.
Overflow values
On mouse clicks (or drags) with sliders using large value ranges and/or a large display area, it was possible that an overflow condition would occur. The possibility of this has been reduced by improving the code which translates between screen coordinates and logical range values.
Click/Drag positioning
On mouse clicks (or drags) a slider's bar would previously align with the step immediately below (or to the left of) the position clicked. This meant that the mouse pointer had to reach or move beyond the next step position before the bar would advance to it. This has been modified slightly such that the closest step position is used. This results in the slider appearing to jump to a position slightly higher or slightly lower than the position clicked. Previously it would always have jumped to the pointer position or a position immediately below it.
|