[vtkusers] MouseWheel and .NET

David Montgomery dmontgomery at gsti3d.com
Thu Mar 9 12:43:54 EST 2006


I verified that the focused .NET component consumes the WM_MOUSEWHEEL message, and the VTK graphics window would not receive it. I worked around this by simply overriding the following .NET method: 

OnMouseWheel(MouseEventArgs e)

Using the value of e.Delta I directed this method to call the appropriate MouseWheel method of the VTK interactor as follows:

if (forward) {

this->trackballCam->OnMouseWheelForward();

} else {

this->trackballCam->OnMouseWheelBackward();

}


________________________________

From: Mathieu Malaterre [mailto:mathieu.malaterre at kitware.com]
Sent: Wed 3/8/2006 5:11 PM
To: David Montgomery
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] MouseWheel and .NET



David Montgomery wrote:
> In VTK 5.0.0 mouse wheel input zooms the trackball interactor as
> expected when I use a stand alone win32 window. When I parent the VTK
> graphics window to a .NET Windows Forms component (such as a panel), the
> mouse wheel input apparently gets consumed by a .NET component. Does
> anyone know a work-around or setting I should use to get the mouse wheel
> input to the VTK window?

Be sure to propagate the events down to VTK. Have a look at:

   VTK/Examples/GUI/Win32/SampleMFC/vtkMFCRenderView.cpp

...
// Define our own event handler here
LRESULT vtkMFCRenderView::WindowProc(UINT message, WPARAM wParam, LPARAM
lParam)
{
   switch (message)
     {
     //case WM_PAINT:
     case WM_LBUTTONDOWN:
     case WM_LBUTTONUP:
     case WM_MBUTTONDOWN:
     case WM_MBUTTONUP:
     case WM_RBUTTONDOWN:
     case WM_RBUTTONUP:
     case WM_MOUSEMOVE:
     case WM_MOUSEWHEEL:
     case WM_CHAR:
     case WM_TIMER:
       if (this->Interactor->GetInitialized())
         {
         return vtkHandleMessage2(this->m_hWnd, message, wParam, lParam,
                                  this->Interactor);
         }
       break;
     }
   return vtkMFCView::WindowProc(message, wParam, lParam);
}
...

HTH
Mathieu


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20060309/11369d94/attachment.htm>


More information about the vtkusers mailing list