Windows图形界面(GUI)-MFC-C/C++ - CSliderCtrl

目录

CSliderCtrl

创建滑动条

设置滑动条属性

成员函数

消息处理

注意事项

示例代码


CSliderCtrl

创建滑动条
  • 在对话框编辑器中,从工具箱中拖拽一个Slider Control到对话框资源。在类向导中为Slider Control添加变量,类型为CSliderCtrl
设置滑动条属性
  • 在对话框的属性窗口中,可以设置Slider Control的各种属性,如范围(Range)、位置(Position)、刻度(Tics)等。

  • 范围:滑动条的最小值和最大值。

  • 位置:滑块的当前位置。

  • 刻度:在滑动条上显示的刻度标记。

成员函数
  • SetRange(int nLower, int nUpper):设置滑动条的范围。

  • SetRangeMax(int nMax):设置滑动条的最大值。

  • SetRangeMin(int nMin):设置滑动条的最小值。

  • SetPos(int nPos):设置滑动条的位置。

  • GetPos():获取滑动条的位置。

  • SetTicFreq(int nFreq):设置刻度频率。

  • SetSelection(int nMin, int nMax):设置滑动条的选择范围。

消息处理
  • 滑动条控件可以发送多种消息,如NM_CUSTOMDRAWNM_SLIDERPOSCHANGED。在对话框类中,可以通过消息映射来处理这些消息。
注意事项
  • 确保在创建滑动条之前,父窗口已经创建。

  • 滑动条的父窗口应该是对话框或框架窗口。

  • 滑动条的ID应该在对话框类的消息映射中正确映射。

  • 处理滑动条消息时,确保消息处理函数与消息映射中的ON_NOTIFY宏匹配。

示例代码
cpp 复制代码
void CMainDlg::OnBnClickedButton25()
{
	CSliderCtrl* pSlider = (CSliderCtrl*)GetDlgItem(IDC_SLIDERMAIN);

	pSlider->SetRange(0, 100);

	pSlider->SetPos(20);

}


void CMainDlg::OnNMCustomdrawSlider2(NMHDR* pNMHDR, LRESULT* pResult)
{
	CSliderCtrl* pSlider = (CSliderCtrl*)GetDlgItem(IDC_SLIDERMAIN);
	CStatic* pStatic = (CStatic*)GetDlgItem(IDC_STATIC_SLIDER);
	int nPos = pSlider->GetPos();
	CString strPos;
	strPos.Format(_T("%d"), nPos);
	pStatic->SetWindowText(strPos);

	LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
}
相关推荐
变与不变8062 小时前
引用类型、内存原理与对象
开发语言·前端·javascript
wuyk5552 小时前
从零吃透 MQTT 通信|第 5 章 MQTT 心跳保活机制深度优化,断线检测与智能自动重连
c语言·开发语言·stm32·学习
weixin_440730502 小时前
socket解决多次输入问题-大数据接收问题-模块动态导入
java·开发语言·servlet
励志不掉头发的内向程序员3 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
www_aiyuanma_vip3 小时前
Java个人博客系统
java·开发语言
OPEN-F3 小时前
ROS2系列教程:Gazebo插件(关节控制/IMU/激光雷达)
c++·python·数码相机·算法·机器人
leoZ2313 小时前
第 7 篇:进阶——校验、联动、列表页
开发语言·前端·javascript·vue.js·人工智能·目标检测·ecmascript
秋名RG3 小时前
Java 集合框架完全指南:从核心接口到 JDK 21 有序集合新特性
java·windows
luj_17683 小时前
虚实交融中的真实人物塑造
c语言·开发语言·网络·经验分享·算法
宋军涛3 小时前
Windows 操作系统【任务计划程序】简单使用
服务器·windows