Zoomler is a freeware scrollbar-like Delphi native VCL
component that can be used for
scrolling and zooming any continuous objects: charts, images
etc. All its position properties are of Double type - it is
convenient for charts, and one can always call Round() if
the object has integer coordinates. Zoomler can be horizontal
and vertical. It is not a windowed control so it cannot receive
focus, thus it has mouse interface only. Zoomler has seven
mouse-sensitive areas:
two arrow buttons : for scrolling by 1;
two zooming points (on both sides of the thumb) : for zooming
two areas on either side of the thumb : for one-step scrolling
middle thumb area : for scrolling
Zoomler is inherited from TGraphicControl. It was designed and tested
under Delphi 3 but it contains nothing version specific.
PROPERTIES
DblClkEnable : if TRUE then if double-clicked it is fully zoomed, i.e. Start:=Min; Finish:=Max;
Min, Max : minimum and maximum possible values
Start, Finish : current minimum and maximum position of the thumb. These values are changed by user's mouse activities
Orientation : Horizontal or Vertical -- the way Zoomler draws itself
Other properties are inherited and self-explanatory.
METHODS
Constructor and destructor.
EVENTS
OnChanged : this event is triggered when user releases the mouse button
OnScrolling, OnZooming : these events are triggered while user is scrolling or zooming.
If the scrolled/zoomed object's painting is not consuming much time it is
advised to repaint it in OnScrolling and OnZooming events. But in the case
of complicated drawing this will cause poor responsiveness and, possibly,
flickering. Then object's Invalidate method have to be called in OnChanged
event.