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;
}
相关推荐
阿巴~阿巴~3 分钟前
C/C++蓝桥杯算法真题打卡(Day3)
c语言·c++·算法·蓝桥杯
秋说6 分钟前
【Java开发指南 | 第三十四篇】IDEA没有Java Enterprise——解决方法
java·开发语言·intellij-idea
奕澄羽邦14 分钟前
二级Python通关秘籍:字符串操作符/函数/方法全解析与实战演练
开发语言·python
go54631584651 小时前
简单的 Python 示例,用于生成电影解说视频的第一人称独白解说文案
开发语言·python
vvilkim1 小时前
使用 JavaScript 和 HTML5 实现强大的表单验证
开发语言·javascript·html5
森焱森1 小时前
AArch64架构及其编译器
linux·c语言·单片机·架构
程高兴1 小时前
中性点不接地系统单相接地故障Matlab仿真
开发语言·matlab
AI很强2 小时前
matlab常见的配图代码实现1
开发语言·算法·matlab
鲤籽鲲2 小时前
C# Enumerable类 之 数据排序
开发语言·c#·c# 知识捡漏
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 小时前
C语言_数据结构总结6:链式栈
c语言·开发语言·数据结构·算法·链表·visualstudio·visual studio