Slider控件,拖动滑块的位置,能产生哪一个消息呢

 我来答
人去觅知音8199
2013-11-10 · TA获得超过103个赞
知道小有建树答主
回答量:138
采纳率:100%
帮助的人:61.9万
展开全部
从字面上看,TRBN_THUMBPOSCHANGING “在滚动条位置更改时发送通知”。我现在想拖动滑块,获取拖动后滑块的位置,应该用这个吧。
但是用这个没效果。
------解决方案--------------------------------------------------------
那条消息不清楚,但是你可以用这个取到位置C/C++ code
CSliderCtrl::GetChannelRect(rc1); // 获取中间那条可滑动的区域大小
CSliderCtrl::GetThumbRect(rc2); // 获取滑块按钮当前的rect
------解决方案--------------------------------------------------------
NM_CUSTOMDRAW初始化中://设置滑块的位置的最大值和最小值
m_Slider.SetRange(0, 100);
//设置滑块的当前位置
m_Slider.SetPos(10);
void CMyDlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult){//获得滑块的当前位置
int nPos = m_Slider.GetPos();
...}------解决方案--------------------------------------------------------
如果是水平的,就响应WM_HSCROLL消息。
如果是垂直的,就响应WM_VSCROLL消息。
你这个控件不是继承的,那么就在控件的父窗口响应这个消息,然后判断是否是这个控件。
------解决方案--------------------------------------------------------
你可以自定义两个消息
#define WM_MYMSG_MOVING WM_USER+10000//滑动时响应
#define WM_MYMSG_MOVED WM_USER+10001//左键弹起时响应
你可以在 OnMouseMove 的时候发送自定义消息 WM_MYMSG_MOVING
在 OnLButtonUp 的时候发送自定义消息 WM_MYMSG_MOVED其中传的参数,就是你当前值,当前位置试试看
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式