我想获得另外一个窗口上的Slider控件的当前位置, 用哪个Message?

mel 2006-06-19 01:20:39
看文档说Slider会向父窗口发WM_HSCROLL消息,subclass没有抓到.
还有什么办法能获得Slider的当前值?
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Snow_Ice11111 2006-06-19
  • 打赏
  • 举报
回复
滚动条可以用楼上各位提到的消息;滑块控件的话用CSliderCtrl::GetPos;另外程序的话用EnumChildWindow找到控件窗口同样用:窗口指针->GetPos
mel 2006-06-19
  • 打赏
  • 举报
回复
CSliderCtrl *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLLIDER1);

如果是另外一个程序,怎么相应控件的ID(IDC_SLLIDER1), 用EnumChildWindow好像不一样
lixiaosan 2006-06-19
  • 打赏
  • 举报
回复
int nPos = (int)::SendMessage(hWndSlider, TBM_GETPOS, 0, 0L);
折腾_苏州 2006-06-19
  • 打赏
  • 举报
回复
在父窗口的OnHScroll里面是可以捕捉到Slider滑动的消息。请确定m_Slider的Parent是否是该窗口。
Cdialog::OnHScroll(nSBCode,nPos,pScrollBar);
CSliderCtrl *pSlidCtrl=(CSliderCtrl*)GetDlgItem(IDC_SLLIDER1);
m_nCur=pSlidCtrl->GetPos();//取得当前位置值

或者NM_CUSTOMDRAW,OnCustomdrawSlider1事件也可实时得到当前位置。。
boluoCTO 2006-06-19
  • 打赏
  • 举报
回复
SBM_GETPOS

15,975

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧