你说的是当鼠标在SlideCtrl上点击时那个指示器的移动距离吧!可以用
m_slide.SetPageSize( 125 );

解决方案 »

  1.   

    请问我在资源中添加CSlideCtrl控件,在oncreate函数中设置m_slide.SetPageSize( 125 );但程序运行到时报错,怎么也走不下去,怎么办?急死!
      

  2.   

    你在调用SetPageSize()时m_slide是一个有效的窗口吗?即m_side.GetSafeHwnd()要不为NULL。
    可以先用m_slide.SubclassDlgItem(IDC_MYSLIDE)或m_slide.Create(....)或用ClassWizard添加了IDC_MYSLIDE的成员变量。
      

  3.   

    老兄我在ClassWizard添加了IDC_MYSLIDE的成员变量,可在oncreate中得到的还是m_side.GetSafeHwnd()为NULL,不信你自己做做。
      

  4.   

    你的窗口是Dialog还是View。如果是Dialog,请在OnInitDialog()中写.
    因为OnCreate时窗口还没调用DoDataExchange()呢。m_slide怎么会有有效的hwnd呢?
      

  5.   

    想您说的在OnInitDialog()中写,也设了m_kuaiman_CS.SetRange(0,500,TRUE);
    m_kuaiman_CS.SetLineSize(125);
        m_kuaiman_CS.SetPageSize(125);可鼠标拖动起来还是想放到那就放到那,怎么办?
      

  6.   

    我会疯了,请您认真帮帮忙吧!我的这个CSlideCtrl时建立在属性页上的,而属性页中不提供OnInitDialog(),我自己加了后,将m_kuaiman_CS.SetRange(0,500,TRUE);
    m_kuaiman_CS.SetLineSize(125);
        m_kuaiman_CS.SetPageSize(125);写进去可还是不认识,如果方便的话请帮忙些个例子,只要鼠标拖动可按设置的进行即可。[email protected]谢谢!
      

  7.   

    属性页也有OnInitDialog(),你用ClassWizard增加对WM_INITDIALOG消息的处理就有了。如果你想在鼠标拖动指示器之后即判断指示器的位置,请对该控件处理NM_RELEASEDCAPTURE消息,在消息中: if( m_slide.GetPos()满足条件) {.....如设置位置SetPos(...);等}