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的更多相关文章

  1. jQuery源代码学习笔记_工具函数_noop/error/now/trim

    jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...

  2. MFC 学习笔记

    MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...

  3. SSM框架学习笔记_第1章_SpringIOC概述

    第1章 SpringIOC概述 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架. 1.1 控制反转IOC IOC(inversion of controller)是一种概念 ...

  4. Python学习笔记_我的参考网址

    Python学习笔记, 下面记录网上搜到的可参考的网址: 一.关于Tkinter 1.Python3中tkinter模块使用方法详解 https://blog.csdn.net/Fighting_Bo ...

  5. FFT和NTT学习笔记_基础

    FFT和NTT学习笔记 算法导论 参考(贺) http://picks.logdown.com/posts/177631-fast-fourier-transform https://blog.csd ...

  6. MFC学习笔记1---准备工作

    什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...

  7. MFC学习笔记(一)

    个人对MFC技术一直都很感兴趣,因为能够做出漂亮绚丽的界面应该是一件十分有成就感的事情. 学习的参考课本为北京博彦科技发展有限责任公司翻译的Jeff Prosise著的<MFC Windows程 ...

  8. haskell学习笔记_函数

    一开始学习函数式编程语言就被告知函数式编程语言是一种“定义式”的语言,而不是一种命令式的语言,在学习haskell的函数语法时,此感觉更加强烈,haskell的函数定义倾向于一种类似C++里面的swi ...

  9. 【MFC学习笔记-作业7-小型画图软件】【】

    作业要求: 按下鼠标右键画圆. 按下鼠标左键移动曲线. 丝毫没有思路..网上教程又比这个程序复杂100倍... 好吧 总算找到一个合适的了... 转载至:http://blog.chinaunix.n ...

随机推荐

  1. HDFS的java api操作

    hdfs在生产应用中主要是针对客户端的开发,从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件. 搭建开发环境 方式一(windows环境下 ...

  2. vncdotool - A command line VNC client

    作者:Daly 出处:http://www.cnblogs.com/daly 欢迎转载,也请保留这段声明.谢谢! 之前的一个项目需要需求希望可以通过命令行去远程执行一些Windows 系统操作. 所以 ...

  3. ORACLE数据库部分面试题目

    1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份.而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库.热备份的优点在于当备份 ...

  4. java多线程的理解

    java多线程的理解   线程的5种状态:新建,就绪,运行,阻塞,死亡. Thread.sleep:线程  运行状态 转为  阻塞状态,(其它线程启动运行) Thread.yield:   线程 运行 ...

  5. 经典Console案例

    /*下面的示例演示 WindowLeft.WindowTop.WindowWidth.WindowHeight.BufferWidth.BufferHeight 和 CursorVisible 属性以 ...

  6. add-apt-repository出Exception问题

    参考:http://blog.sina.com.cn/s/blog_5388923c0100nu8h.html 症状: xxxx@xxxxx:~$ sudo add-apt-repository pp ...

  7. Android 加载GIF图最佳实践

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/75578109 本文出自[赵彦军的博客] 起因 最近在项目中遇到需要在界面上显示一个 ...

  8. pyCharm安装破解

    补丁破解 下载 http://idea.lanyus.com/jar/JetbrainsCrack-2.7-release-str.jar 并将 JetbrainsCrack-2.7-release- ...

  9. Codeforces 623D [Amazing概率题]

    很有趣的一道题吖! 做法:贪心+迭代 Sigma(i*(pr[i]-pr[i-1])))=n-sigma(pr[i]), 所以我们贪心地是pr[i]尽可能大. 也就是让pr[i]/pr[i-1]尽可能 ...

  10. Windows下配置vue的环境

    最近在学习vue.js,希望前端能用vue来作为主要框架.这里记录一下NPM在Windows中安装过程. 下载安装 下载地址 下载v6.11.0 LTS稳定版. 在C盘创建nodejs目录,并进行安装 ...