关于MFC中滑块控件的问题 [英] a question about slider control in MFC

查看:325
本文介绍了关于MFC中滑块控件的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经完成了这些步骤

1.插入两个静态文本,一个编辑和一个滑块控件。

2.向滑块控件添加变量名称滑块,这是类别

控制和变量类型CSliderCtrl。

3.添加变量名称slidervalue来编辑类别值和变量类型CString的文本。

4.在OnInitDialog()函数中添加它:

slider.SetRangeMin(1,false);

slider.SetRangeMax(100,false);

sliderValue =1;

UpdateData(FALSE);

5.按如下方式实现OnHScroll()函数:

  if (nSBCode == SB_THUMBPOSITION)
{
slidervalue.Format(_T( %d),nPos);
UpdateData( false );
}
else
{
CDialog :: OnHScroll(nSBCode,nPos,pScrollBar);
}





现在我的问题是我可以指定条件



 if(slidervalue =   10
{
// 执行此操作
}

解决方案

如果你想检查用户是否更改了CEdit中的文本(因为sliderValue被挂钩到CEdit),你应该为它添加一个事件处理程序来自CEdit的EN_CHANGE消息。


 m_Slider.SetPos( 32 ); 


i have done these steps
1. Insert two static texts, one edit, and one slider controls.
2. Add variable name slider to slider control which is of Category
Control and of the Variable Type CSliderCtrl.
3. Add variable name slidervalue to edit text which is of Category value and of the Variable Type CString.
4. add this in OnInitDialog() function:
slider.SetRangeMin(1, false);
slider.SetRangeMax(100, false);
sliderValue = "1";
UpdateData(FALSE);
5. Implement the OnHScroll() function as follows:

if(nSBCode == SB_THUMBPOSITION)
    {
    slidervalue.Format(_T("%d"), nPos);
    UpdateData(false);
    }
    else
    {
    CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
    }



now my question is where i can specify the conditions that

if(slidervalue="10")
{
//do this
}

解决方案

If you want to check if the user changes the text in the CEdit (since sliderValue was hooked to a CEdit) you should add an event handler for the EN_CHANGE message from the CEdit.


m_Slider.SetPos(32);


这篇关于关于MFC中滑块控件的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆