Q&A - Question

Limiting Mouse-Wheel Zoom to the Viewer

Question
Crag Cox asked on September 08, 2016, keyword: Developer Kernel
I have incorporated the mouse-wheel zoom into my Delphi project, but how do I limit the zoom response to when the mouse is within the viewer only.  As it stands now, my users attempt to use the mouse wheel to migrate through the legend control only to have zoom response in the viewer.  
Answers
Artur Redzko (TatukGIS) replied September 08, 2016
Assuming that you are using the form MouseWheelDown and FormMouseWheelUp events you can check inside procedures handling these events if the mouse position is over the viewer, e.g.:

procedure TfrmMain.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
var
  pt : TPoint;
begin
  pt := GIS.ScreenToClient(MousePos);
  if PtInRect(GIS.ClientRect, pt) then
    GISMouseWheelDown( Sender, Shift, MousePos, Handled ) ;
end;

 
If you would like to answer the question please Sign In.
*
*
Please review our recent Privacy Policy.
If you have any questions or requests, please contact us.
Rules
The Questions and Answers (Q & A) is intended to provide a means of communication between TatukGIS customers.
 
  1. Licensed users (with active maintenance play) of TatukGIS products may contribute to the Q & A content. Read-only access is available to anyone.
  2. Keep the content positive and professional.
  3. Be courteous to others by posting information when a question or issue asked on the Q & A is answered or resolved by other means (such as with help from TatukGIS technical support). Offer others at least a hint how the posted question was answered or the issue was resolved.
  4. The Q & A is not a replacement for TatukGIS technical support. TatukGIS team may or may not regularly follow or contribute content.