滑块控件(也称为跟踪栏)是一个包含滑块和可选刻度线的窗口,当用户使用鼠标或方向键移动滑块时,控件将发送通知消息以指示更改。滑块有两种类型:水平和垂直,它由 CSliderCtrl类表示。
让无涯教程通过创建一个新的基于MFC对话框的项目来研究一个简单的示例。
步骤1 - 创建项目后,您将看到TODO行,即文本控件的标题。删除标题并将其ID设置为IDC_STATIC_TXT。
步骤2 - 为"Static Text"控件添加一个值变量m_strSliderVal。
步骤3 - 从工具箱中拖动滑块控件。
步骤4 - 为滑块添加一个控制变量m_sliderCtrl。
步骤5 - 转到解决方案中的类视图。
步骤6 - 选择CMFCSliderControlDlg类。
步骤7 - 在"Properties"窗口中,单击"Messages"。
链接:https://www.learnfk.comhttps://www.learnfk.com/mfc/mfc-slider-controls.html
来源:LearnFk无涯教程网
步骤8 - 向下滚动到“ WM_HSCROLL”,然后单击下拉菜单。单击“ <Add> OnHScroll”。
步骤9 - 初始化OnInitDialog()函数中的Slider和Static Text控件。
BOOL CMFCSliderControlDlg::OnInitDialog() { CDialogEx::OnInitDialog(); //设置此对话框的图标。该框架会自动执行此操作当应用程序的主窗口不是对话框时 SetIcon(m_hIcon, TRUE); //Set big icon SetIcon(m_hIcon, FALSE); //Set small icon //TODO: Add extra initialization here m_sliderCtrl.SetRange(0, 100, TRUE); m_sliderCtrl.SetPos(0); m_strSliderVal.Format(_T("%d"), 0); return TRUE; //return TRUE unless you set the focus to a control }
步骤10 - 在OnVScroll()的功能代码块内添加以下代码
void CMFCSliderControlDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { //TODO: Add your message handler code here and/or call default if (pScrollBar == (CScrollBar *)&m_sliderCtrl) { int value = m_sliderCtrl.GetPos(); m_strSliderVal.Format(_T("%d"), value); UpdateData(FALSE); }else { CDialog::OnHScroll(nSBCode, nPos, pScrollBar); } }
步骤11 - 编译并执行上述代码后,您将看到以下输出。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)