初始化滚动条

1     //初始化滚动条
2 SCROLLINFO si = { 0 };
3 si.cbSize = sizeof(si);
4 si.fMask = SIF_RANGE | SIF_PAGE;
5 si.nMin = 0;
6 si.nMax = 100;
7 si.nPage = 10;
8 m_scroll.SetScrollInfo(&si);

滚动条事件

 1 void CMFCApplication6Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
2 {
3 SCROLLINFO si = { 0 };
4 si.cbSize = sizeof(si);
5 si.fMask = SIF_ALL;
6 pScrollBar->GetScrollInfo(&si);
7
8 int nNewPos = si.nPos;
9 switch (nSBCode) {
10 case SB_THUMBTRACK:
11 nNewPos = nPos;
12 break;
13 case SB_LINELEFT:
14 nNewPos -= 1;
15 break;
16 case SB_LINERIGHT:
17 nNewPos += 1;
18 break;
19 case SB_PAGELEFT:
20 nNewPos -= si.nPage;
21 break;
22 case SB_PAGERIGHT:
23 nNewPos += si.nPage;
24 break;
25 default:
26 break;
27 }
28 if (nNewPos > si.nMax)
29 nNewPos = si.nMax;
30 if (nNewPos < si.nMin)
31 nNewPos = si.nMin;
32 pScrollBar->SetScrollPos(nNewPos);
33
34 CString s;
35 s.Format(TEXT("%d"), nNewPos);
36 m_pos = s;
37 UpdateData(FALSE);
38 CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
39 }

MFC入门示例之水平滚动条和垂直滚动条(CScroll Bar)的更多相关文章

  1. MFC 控件编程之水平滚动条跟垂直滚动条

    MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...

  2. 关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条

    关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条 关于<iframe>可以通过设置属性scrolling="no" 去掉iframe的两个滚动条. 如何只去掉水 ...

  3. EasyUI combobox下拉框添加水平滚动条和垂直滚动条

    在EasyUI中combobox组件设置滚动条: 1.垂直滚动条:设置panelHeight属性,默认200,组件的数据过多滚动条自动出现,设置auto,则不出现滚动条. 2.水平滚动条:水平滚动条在 ...

  4. MFC入门示例之树控件(CTreeControl)

    1 //增加按钮 2 void CMFCApplication8Dlg::OnBnClickedButtonAdd() 3 { 4 //树中添加节点 5 CString strText; 6 GetD ...

  5. MFC入门示例之列表框(CListControl)

    初始化: 1 //初始化列表 2 m_list.ModifyStyle(LVS_TYPEMASK, LVS_REPORT); //报表样式 3 m_list.InsertColumn(0, TEXT( ...

  6. MFC入门示例之组合框(CComboBox)、列表框(CListBox)

    1 //添加按钮点击事件 2 void CMFCApplication4Dlg::OnBnClickedButton1() 3 { 4 CString strText; 5 //获取文本框的值 6 G ...

  7. MFC入门示例之单选框、复选框

    设置默认选中一个单选按钮,OnInitDialog()函数中添加: CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO2); 按钮事件处理 1 voi ...

  8. MFC入门示例之访问对话框控件的7种方法

    方法一: 1 //方法一 2 void CMFCApplication2Dlg::OnBnClickedButton1() 3 { 4 int num1, num2, num3; 5 TCHAR ch ...

  9. MFC入门示例之静态文本框、编辑框

    点击按钮计算文本框中文本长度 void CMFCApplication1Dlg::OnBnClickedButton1() { CString strInput; GetDlgItemText(IDC ...

随机推荐

  1. Java学习(九)

    今天先学习了内联框架的知识,使用iframe的标签,还有超链接的知识. 做了个小实践 <!DOCTYPE html> <head> <meta charset=" ...

  2. c++学习笔记(六)

    windows批处理 什么是批处理? 批处理(Batch),也称为批处理脚本. 顾名思义,批处理就是对某对象进行批量的处理.批处理文件的扩展名为bat. 批处理文件(batch file)包含一系列 ...

  3. CMU Convex Optimization(凸优化)笔记1--凸集和凸函数

    CMU凸优化笔记--凸集和凸函数 结束了一段时间的学习任务,于是打算做个总结.主要内容都是基于CMU的Ryan Tibshirani开设的Convex Optimization课程做的笔记.这里只摘了 ...

  4. 美化CMD

    配置 Windows Terminal 的步骤 前提:在微软商店下载两个软件 Windows Terminal PowerShell(因为最好使用 PowerShell7 ,否则以下命令可能执行不了) ...

  5. jenkins bat删除指定路径下的文件及文件夹

    最近在用jenkins集成,生成allure测试报告,但是每次生成的allure测试报告,都是上一次执行的痕迹.比如这次我只运行了100个用例,结果显示运行2000条,上一次运行的用例,时间也涵括了上 ...

  6. 菜鸡的Java笔记 - java 正则表达式

    正则表达式 RegularExpression        了解正则表达式的好处        正则表达式的基础语法        正则表达式的具体操作            content (内容 ...

  7. 13-Semi-supervised Learning

    半监督学习(semi-supervised learning) 1.introduction 2.Semi-supervised Learning for Generative Model 3.Low ...

  8. [bzoj4777]Switch Grass

    结论:最短路径一定是单独的一条边且在最小生成树上,可以用反证法证明.那么求出最小生成树,对于每一个点建立一棵权值线段树,再对每一个权值线段树上的叶子节点开一个multiset,维护所有儿子中该种颜色的 ...

  9. GeoServer style 配置样例

    <?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor version=& ...

  10. vue3 高阶 API 大汇总,强到离谱

    高阶函数是什么呢? 高阶函数英文名叫:Higher Order function ,一个函数可以接收一个或多个函数作为输入,或者输出一个函数,至少满足上述条件之一的函数,叫做高阶函数. 前言 本篇内容 ...