MFC入门示例之水平滚动条和垂直滚动条(CScroll Bar)

初始化滚动条
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)的更多相关文章
- MFC 控件编程之水平滚动条跟垂直滚动条
MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...
- 关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条
关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条 关于<iframe>可以通过设置属性scrolling="no" 去掉iframe的两个滚动条. 如何只去掉水 ...
- EasyUI combobox下拉框添加水平滚动条和垂直滚动条
在EasyUI中combobox组件设置滚动条: 1.垂直滚动条:设置panelHeight属性,默认200,组件的数据过多滚动条自动出现,设置auto,则不出现滚动条. 2.水平滚动条:水平滚动条在 ...
- MFC入门示例之树控件(CTreeControl)
1 //增加按钮 2 void CMFCApplication8Dlg::OnBnClickedButtonAdd() 3 { 4 //树中添加节点 5 CString strText; 6 GetD ...
- MFC入门示例之列表框(CListControl)
初始化: 1 //初始化列表 2 m_list.ModifyStyle(LVS_TYPEMASK, LVS_REPORT); //报表样式 3 m_list.InsertColumn(0, TEXT( ...
- MFC入门示例之组合框(CComboBox)、列表框(CListBox)
1 //添加按钮点击事件 2 void CMFCApplication4Dlg::OnBnClickedButton1() 3 { 4 CString strText; 5 //获取文本框的值 6 G ...
- MFC入门示例之单选框、复选框
设置默认选中一个单选按钮,OnInitDialog()函数中添加: CheckRadioButton(IDC_RADIO1, IDC_RADIO2, IDC_RADIO2); 按钮事件处理 1 voi ...
- MFC入门示例之访问对话框控件的7种方法
方法一: 1 //方法一 2 void CMFCApplication2Dlg::OnBnClickedButton1() 3 { 4 int num1, num2, num3; 5 TCHAR ch ...
- MFC入门示例之静态文本框、编辑框
点击按钮计算文本框中文本长度 void CMFCApplication1Dlg::OnBnClickedButton1() { CString strInput; GetDlgItemText(IDC ...
随机推荐
- windows 下 redis服务经常自动关闭
记一次线上服务器redis 经常掉线的问题 环境: windows service 2019, redis, java8, 由于服务器资源有限, 项目的数据库oracle, 缓存数据库redis和we ...
- Java String 转成 二位数组
... package str; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; impo ...
- 【IDEA】颜色主题 Color Theme
颜色主题 Color Theme 2020-09-08 08:35:44 by冲冲 1.本人的颜色主题:TasteTheRainbow.jar 链接:https://pan.baidu.com/s ...
- 反调试代码调试死机代码禁止F12代码
反调试代码调试死机代码禁止F12代码 // 反调试函数,参数:开关,执行代码 function siji(){ var total=""; for (var i=0; ...
- javascript-初级-day05js函数传参
JS基础-01 函数传参.参数类型-1 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Conten ...
- Collection集合框架与Iterator迭代器
集合框架 集合Collection概述 集合是Java中提供的一种容器,可以用来存储多个数据 集合与数组的区别: 数组的长度固定,集合的长度可变 数组中存储的是同一类型的元素,可以存储基本数据类型值, ...
- 通过Rainbond的团队管理去管理已有的组织架构
针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要 ...
- BehaviorTree.CPP行为树BT的队列节点(三)
Sequences(队列) 只要序列的所有子代返回SUCCESS,它便会对其进行Tick. 如果有任何子级返回FAILURE,则序列中止. 当前,该框架提供三种节点: Sequence Sequenc ...
- 【机器学习与R语言】12- 如何评估模型的性能?
目录 1.评估分类方法的性能 1.1 混淆矩阵 1.2 其他评价指标 1)Kappa统计量 2)灵敏度与特异性 3)精确度与回溯精确度 4)F度量 1.3 性能权衡可视化(ROC曲线) 2.评估未来的 ...
- C语言 fastq文件转换为fasta文件2
修改可读取压缩格式文件 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #in ...