我在对话框里加了一个滑块控件而且就打算用3个状态
偶现在想在滑块控件被拖动或者改变值的时候进行我自己的处理,但是我不知道该响应哪个消息!我想实现的总结如下:
1.在控件边上显示出3个标记(正好要上、中、下,并且对应0-2三个整数);
2.滑块控件一旦移动就要对其进行处理(我有自己要做的事,最好是只响应他改变指向数值时的消息)麻烦大家告诉我该怎么做,再有,控件变量选VALUE型还是Ctrl型?谢谢大家了!

解决方案 »

  1.   

    LRESULT OnHScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
    {
        HWND hWnd = (HWND)lParam;    if(hWnd == m_wndSlider1.m_hWnd)
        {
    }
    }
      

  2.   

    使用 HScrollBar 和 VScrollBar 控件
    水平、垂直滚动条控件不同于 Windows 中内部的滚动条或 Visual Basic 中那些附加在文本框、列表框、组合框或 MDI 窗体上的滚动条。无论何时,只要应用程序或控件所包含的信息超过当前窗口(或者在 ScrollBars 属性被设置成 True 时的文本框和 MDI 窗体)所能显示的信息,那些滚动条就会自动出现。在较早的 Visual Basic 版本中,通常用滚动条作为输入设备。但目前的 Windows 界面指南则建议用滑块取代滚动条作为输入设备。Visual Basic 专业版和企业版都包括 Windows 95 的滑块控件。滚动条在 Visual Basic 中仍然有价值,因为它为那些不能自动支持滚动的应用程序和控件提供了滚动功能。关于使用滚动条的信息,请参阅“Scroll Bar 控件方案:创建可滚动的图形视口”。Scroll Bar 控件如何工作
    滚动条控件用 Scroll 和 Change 事件监视滚动框(有时用拇指替代)沿滚动条的移动。事件 描述 
    Change 在滚动框移动后发生。 
    Scroll 在移动滚动框时发生。在单击滚动箭头或滚动条时不发生。 
    可用 Scroll 事件访问滚动条被拖动后的数值。在释放滚动框或单击滚动条或滚动箭头时,Change 事件就会发生。Value 属性 
    Value 属性(缺省值为 0)是一个整数,它对应于滚动框在滚动条中的位置。当滚动框位置在最小值时,它将移动到滚动条的最左端位置(水平滚动条)或顶端位置(垂直滚动条)。当滚动框在最大值时,它将移动到滚动条的最右端或底端位置。同样,滚动框取中间数值时将位于滚动条的中间位置。除了可用鼠标单击改变滚动条数值外,也可将滚动框沿滚动条拖动到任意位置。结果取决于滚动框的位置,但总是在用户所设置的 Min 和 Max 属性之间。注意 如果希望滚动条显示的信息从较大数值向较小数值变化,可将 Min 设置成大于 Max 的值。LargeChange 和 SmallChange 属性
    为了指定滚动条中的移动量,对于单击滚动条的情况可用 LargeChange 属性,对于单击滚动条两端箭头的情况可用 SmallChange 属性。滚动条的 Value 属性增加或减少的长度是由 LargeChange 和 SmallChange 属性设置的数值。要设置滚动框在运行时的位置,可将 Value 属性设为 0 到 32,767 中的某个数值(包括 0 和 32,767)。