鼠标滚轮总是缩小,不会放大

解决方案 »

  1.   

    void CMapView::OnMouseWheel(long nFlags, int zDelta,float* X,float* Y,bool* EnableDefault )
    {
    double   del; 
    try

    m_ctrlMapX.SetAutoRedraw(FALSE); 

    if   (nFlags   ==   MK_CONTROL) 
    del   =   1.25; 
    else 
    del   =   2; 

    if   (zDelta   >   0) 
    m_ctrlMapX.SetZoom(m_ctrlMapX.GetZoom()   *   del); 
    else 
    m_ctrlMapX.SetZoom(m_ctrlMapX.GetZoom()   /   del); 

    m_ctrlMapX.SetAutoRedraw(TRUE);  }  catch (COleDispatchException   *e)   { 
    e-> ReportError(); 
    e-> Delete();  }   catch   (COleException   *e)   { 
    e-> ReportError(); 
    e-> Delete(); 

    }
      

  2.   

    MapX对象有个支持滚轮事件的属性,设置一下就行了,使用下面语句:
    它使用的参数有三个,分别是  
    miNoMousewheelSupport = 1//不支持滚轮操作
    miMousewheelNoAutoScroll = 2//支持滚轮缩放,但不滚轮拖动
    miFullMousewheelSupport = 3//支持完整滚轮操作
    m_ctrlMapX.SetMousewheelSupport(miMousewheelNoAutoScroll);