动态添加的slider 怎么响应滑动事件
2个回答
展开全部
从字面上看,TRBN_THUMBPOSCHANGING“在滚动条位置更改时发送通知”。我现在想拖动滑块,获取拖动后滑块的位置,应该用这个吧。但是用这个没效果。------解决方案--------------------------------------------------------那条消息不清楚,但是你可以用这个取到位置C/C++codeCSliderCtrl::GetChannelRect(rc1);//获取中间那条可滑动的区域大小CSliderCtrl::GetThumbRect(rc2);//获取滑块按钮当前的rect------解决方案--------------------------------------------------------NM_CUSTOMDRAW初始化中://设置滑块的位置的最大值和最小值m_Slider.SetRange(0,100);//设置滑块的当前位置m_Slider.SetPos(10);voidCMyDlg::OnCustomdrawSlider1(NMHDR*pNMHDR,LRESULT*pResult){//获得滑块的当前位置intnPos=m_Slider.GetPos();}------解决方案--------------------------------------------------------如果是水平的,就响应WM_HSCROLL消息。如果是垂直的,就响应WM_VSCROLL消息。你这个控件不是继承的,那么就在控件的父窗口响应这个消息,然后判断是否是这个控件。------解决方案--------------------------------------------------------你可以自定义两个消息#defineWM_MYMSG_MOVINGWM_USER+10000//滑动时响应#defineWM_MYMSG_MOVEDWM_USER+10001//左键弹起时响应你可以在OnMouseMove的时候发送自定义消息WM_MYMSG_MOVING在OnLButtonUp的时候发送自定义消息WM_MYMSG_MOVED其中传的参数,就是你当前值,当前位置试试看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用slider调用下面这个
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
target 是指制定的目标,一般都是self
action 添加的方法
controlEvents; 触发事件
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
target 是指制定的目标,一般都是self
action 添加的方法
controlEvents; 触发事件
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询