MFC学习笔记_关于CSpinButtonCtrl
CSpinButtonCtrl使用起来比较特殊,使用起来,需要注意一些地方.实际的教程也比较少.为了让后人少走弯路,这里写这篇文章以说明.
1.添加EDIT控件
2.添加Spin控件
如果不是这样的顺序的话,使用ctrl+D改变Tab顺序,使spin紧靠edit后面
3.在EDIT控件上面设置group属性(特别注意)
4.在Spin控件上设置
Auto Buddy 为 true
Set Buddy Integer 为 true
Alignment 为 Right Align
5.添加Edit控件 int 变量 m_nNumK;
这个时候点击向下应该可以增加数值
6.在OnInitDialog中添加以下语句
((CSpinButtonCtrl *)GetDlgItem(IDC_SPIN1))->SetRange(-100, 100);
这里在程序中可以写成下面的内容,其中m_timeSpan为Spin控件绑定的变量,m_edtTime为EDIT控件绑定的变量
m_timeSpan.SetBuddy(&m_edtTime);//将Spin空间和EDIT控件绑定
m_timeSpan.SetRange(1, 1000);//调整的范围
这个时候向上的箭头为增加,向下的箭头为减小.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
设置属性:
Auto Buddy(自动取关联控件为TAB顺序前一个)
Set Buddy Interger(使控件设置关联控件数值,这个值可以是十进制或十六进制)
Wrap(数值超过范围时循环)
Arrow keys(当按下向上和向下方向键时,控件可以增加或减小)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
例子:
功能,三个spinbutton,设置RGB,改变下面的方块的颜色
OnInitDialog()
{ CDialog::OnInitDialog();
CSpinButtonCtrl *pSpinRed =(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_RED);//设置红色
ASSERT(pSpinRed!=NULL); pSpinRed->SetBuddy(GetDlgItem(IDC_EDIT_RED));
pSpinRed->SetRange(0,255);
pSpinRed->SetBase(3);
pSpinRed->SetPos(128); CSpinButtonCtrl *pSpinGREEN =(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_GREEN);//黄色
ASSERT(pSpinGREEN!=NULL);
pSpinGREEN->SetBuddy(GetDlgItem(IDC_EDIT_GREEN));
pSpinGREEN->SetRange(0,255);
pSpinGREEN->SetBase(1);
pSpinGREEN->SetPos(128); CSpinButtonCtrl *pSpinBLUE =(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_BLUE);//蓝色
ASSERT(pSpinBLUE!=NULL);
pSpinBLUE->SetBuddy(GetDlgItem(IDC_EDIT_BLUE));
pSpinBLUE->SetRange(0,255);
pSpinBLUE->SetBase(1);
pSpinBLUE->SetPos(128); // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
以上是我平时用spin控件时的一些总结,后面还会不断总结
MFC学习笔记_关于CSpinButtonCtrl的更多相关文章
- jQuery源代码学习笔记_工具函数_noop/error/now/trim
jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...
- MFC 学习笔记
MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...
- SSM框架学习笔记_第1章_SpringIOC概述
第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...
- Python学习笔记_我的参考网址
Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...
- FFT和NTT学习笔记_基础
FFT和NTT学习笔记 算法导论 参考(贺) http://picks.logdown.com/posts/177631-fast-fourier-transform https://blog.csd ...
- MFC学习笔记1---准备工作
什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...
- MFC学习笔记(一)
个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程 ...
- haskell学习笔记_函数
一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...
- 【MFC学习笔记-作业7-小型画图软件】【】
作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.n ...
随机推荐
- ruby 2.x.x之新特性散谈
ruby入门看的是经典的<ruby编程语言>,可是那描述的是v1.9的老版本啊!下面聊一下ruby2.x.x的新特性,x是0-n都有可能啊. 1.关键字参数(Keyword argumen ...
- Angular使用总结 --- 模版驱动表单
表单的重要性就不多说了,Angular支持表单的双向数据绑定,校验,状态管理等,总结下. 获取用户输入 <div class="container-fluid login-page&q ...
- 初步认识thymeleaf:简单表达式和标签(二)
1.th:each:循环,<tr th:each="user,userStat:${users}">,userStat是状态变量,有 index,count,size, ...
- spring:org.springframework.web.servlet.DispatcherServlet noHandlerFound解决方法
1.搜了许久: <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern& ...
- FFPLAY的原理(四)
意外情况 你们将会注意到我们有一个全局变量quit,我们用它来保证还没有设置程序退出的信号(SDL会自动处理TERM类似的信号).否则,这个线程将不停地运 行直到我们使用kill -9来结束程序.FF ...
- com.android.dex.DexException: Multiple dex files define Lcom/sina/sso/RemoteSSO;
错误原因:ShareSDK的包里面也包含微博SDK的代码,两个Jar包含重复. 解决方法:用Winrar到ShareSDK的Jar里面把sso目录删掉,编译即可成功
- 关于Apple开发者的D-U-N-S Number
企业开发者需要这个信息,中文译名叫邓白氏编码,很多攻略给的那个申请地址已经失效,这个组织官方也有地址可以提交申请资料,不过得注册,苹果目前可用的地址是:https://developer.apple. ...
- hadoop配置文件详解系列(一)-core-site.xml篇
接上一个属性,这个属性就是设置阈值的. hadoop.security.groups.cache.secs 300 配置用户组映射缓存时间的,当过期时重新获取并缓存. hadoop.security. ...
- Redis案例——商品秒杀,购物车
秒杀案例: <?php header("content-type:text/html;charset=utf-8"); $redis = new redis(); $resu ...
- 解决0% [Waiting for headers] 导致的unable to lock the administration directory (/var/lib/dpkg/) is another process using it
这是我在配置vim的YouCompleteMe时遇到的问题,我需要使用CMake来编译YCM. 在我输入 $ sudo apt install cmake 由于网络原因导致安装一直卡在0% [Wait ...