作者:上海传安光通科技有限公司_839 | 来源:互联网 | 2023-09-05 15:39
目录
一、目的
1、想学习滚动条控件Scroll Bar,如此获得里面的数值,方便用在其他地方,比只输入变量方便多了
一、参考:
1、VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)
①总结:good:超级好,能够实现,下面是我超级详细的操作过程
一、过程
1、创建MFC
1、添加滚动条控件Scroll Bar和编辑框
①滚动条控件名字(没有和鸡啄米的一样,为了就是自己测试):IDC_SCROLLBAR1
①编辑框名字(没有和鸡啄米的一样,为了就是自己测试):IDC_EDIT1
①保存时候会出现提示,点击是
1、滚动条添加变量:名字:m_horiScrollbar
①点击滚动条,右键
①然后头文件中就出现了这个新建的滚动条类
1、滚动条初始位置设置
①OnInitDialog:中编写滚动条,其中的SetDlgItemInt是设置编辑框,我的编辑框名字是IDC_EDIT1
1、重载OnHScroll函数
①因为发现我们无法修改滚动条的数值,所以需要对其重载
1、运行效果
①拖拽这个滚动条,编辑框里面的数值也会变化
一、目的
一、参考:
http://www.jizhuomi.com/software/191.html
①总结:good:超级好,能够实现,下面是我超级详细的操作过程
一、过程
1、创建MFC
①编辑框名字(没有和鸡啄米的一样,为了就是自己测试):IDC_EDIT1
①保存时候会出现提示,点击是
①点击滚动条,右键
①然后头文件中就出现了这个新建的滚动条类
1、滚动条初始位置设置
①OnInitDialog:中编写滚动条,其中的SetDlgItemInt是设置编辑框,我的编辑框名字是IDC_EDIT1
// 设置水平滚动条的滚动范围为1到100 m_horiScrollbar.SetScrollRange(1, 100); // 设置水平滚动条的初始位置为20 m_horiScrollbar.SetScrollPos(20); // 在编辑框中显示20 SetDlgItemInt(IDC_EDIT1, 20);
①因为发现我们无法修改滚动条的数值,所以需要对其重载
void CMyExample26Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{// TODO: 在此添加消息处理程序代码和/或调用默认值int pos = m_horiScrollbar.GetScrollPos(); // 获取水平滚动条当前位置 switch (nSBCode) { // 如果向左滚动一列,则pos减1 case SB_LINELEFT: pos -= 1; break; // 如果向右滚动一列,则pos加1 case SB_LINERIGHT: pos += 1; break; // 如果向左滚动一页,则pos减10 case SB_PAGELEFT: pos -= 10; break; // 如果向右滚动一页,则pos加10 case SB_PAGERIGHT: pos += 10; break; // 如果滚动到最左端,则pos为1 case SB_LEFT: pos = 1; break; // 如果滚动到最右端,则pos为100 case SB_RIGHT: pos = 100; break; // 如果拖动滚动块滚动到指定位置,则pos赋值为nPos的值 case SB_THUMBPOSITION: pos = nPos; break; // 下面的m_horiScrollbar.SetScrollPos(pos);执行时会第二次进入此函数,最终确定滚动块位置,并且会直接到default分支,所以在此处设置编辑框中显示数值 default: SetDlgItemInt(IDC_EDIT1, pos); return; } // 设置滚动块位置 m_horiScrollbar.SetScrollPos(pos); CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}
1、运行效果
①拖拽这个滚动条,编辑框里面的数值也会变化