新建1个Dlg工程
添加1个slider控件。
然后放个按钮,按钮事件写
CWnd *wnd=this->GetDlgItem(IDC_SLIDER1);
int pos=0;
pos=wnd->SendMessage( PBM_GETPOS, 0, 0);
CString msg;
msg.Format("%d",pos);
MessageBox(msg,"look",0);然后看看;) 
你知道哪里有毛病吗?

解决方案 »

  1.   

    setrange(0,100)了也是如此,所以不是正确答案
      

  2.   

    range也变成0,滑块不能拖动了
      

  3.   

    "PBM_GETPOS:Retrieves the current position of the progress bar"----From MSDN.我想问一下,Slider控件属于Progress bar吗?如果通过ClassWizard为Slider控件定义一个Control变量m_ctlSlider,pos = m_ctlSlider.GetPos()则可以!
      

  4.   

    PBM_GETPOS与TBM_SETRANGEMAX相等,均为(WM_USER+8),所以实际上你设置了Slider控件的最大值。
      

  5.   

    不可能错,我用过好好的。
    肯定是你没有初始化rang或中间那出毛病了
      

  6.   

    SendMessage返回的是消息发送是否成功,如果成功返回0,当然是0啦
      

  7.   

    嘿嘿不在range的关系。
    是因为PBM_GETPOS其实等于给控件的最大值设为0了。写这种迷踪代码很能考验1个人的耐力的
    哈哈哈,
    SendMessage(m_SliderWnd,PBM_GETPOS,0,0);
      

  8.   

    sendmessage返回值和你发送的消息有关,不一定是0 ;
    建议学习一下msdn
    postmessage成功才是0;)
    答案就是P和T的微小差别
      

  9.   

    哈哈,我知道了,不能向控件SLIDER发送消息,只能向对话框发送,具体原因我不清楚
      

  10.   

    被人骗了freecutelei(谁给我分谁就是猪八戒) 的对