一、需求
上下控件实际上是由edit控件和spin控件组成的,共2个控件。为方便描述,称为上下控件,即可以点击spin控件上下按钮增减数值,当通过上下按钮操作时,edit控件中同时显示数值的变化。另外,也可以在edit控件中直接输入数值。
二、设计
- 1、排放edit控件和spin控件。
- 2、设置spin控件属性:
- Auto Buddy为True,按钮控件顺序进行关联。否则无法关联。
- Set Buddy Interger为True,当spin控件变化时,变化的数值在合作者(即edit控件)中显示。
- Alignment为Right Align,一般习惯在右边。
- 3、在资源视图中,按Ctrl+D重新排序,edit和spin控件必须相邻,才能成为Buddy。比如edit1为1,spin1必须为2,edit2为3,spin2为4,等等。
三、编码
在对话框OnInitDialog函数进行初始化:
1 | // 如果有多个上下控件,可如下初始化: |
在初始化时,设置了显示数值的范围(下限可以是负数),数值进制以及默认值。当向上按钮超过上限时,无法再增长,反之亦然。另外,edit控件输入超过上限数值时亦会变成上限值。
在需要获取其值的响应函数中处理:
1 | CString szInfo; |