CSpinButtonCtrl使用说明
CSpinButtonCtrl使用起来比较特殊,使用起来,需要注意一些地方.实际的教程也比较少.为了让后人少走弯路,这里写这篇文章以说明.
1.添加EDIT控件
2.添加Spin控件
如果不是这样的顺序的话,使用ctrl+D改变Tab顺序,使spin紧靠edit后面
3.在EDIT控件上面设置group属性(特别注意)
4.在Spin控件上设置
Auto Buddy 为 true
Set Buddy Integer 为 true(如果要使用小数,此处为false)
Alignment 为 Right Align
5.添加Edit控件 int 变量 m_nNumK;
这个时候点击向下应该可以增加数值
6.在OnInitDialog中添加以下语句
((CSpinButtonCtrl *)GetDlgItem(IDC_SPIN1))->SetRange(-100, 100);
这个时候向上的箭头为增加,向下的箭头为减小.
7.如果要设置你需要的步长:
使用SetAccel(int nAccel,UDACCEL* pAccel )函数
参数nAccel表示由pAccel指定的UDACCEL结构的数目.
pAccel指向一个UDACCEL结构数组的指针,
该数组包含了加速信息,其结构如下:
typedef struct{
UINT nSec;//位置改变前所等待的秒数。
UINT nInc;//位置增量。
}UDACCEL,FAR* LPUDACCEL;
例如:UDACCEL Accel; Accel.nSec=0;
Accel.nInc=10;
m_MySpin.SetRange(1950,1999);
m_MySpin.SetAccel(1,&Accel);
在看书的时候发现教材写的很不完整,导致我Auto Buddy属性没有设置为true,结果运行的时候点了半天edit控件的内容都是空白的... 以下是我的代码,个人比较笨,手动设置buddy... OnInitDialog() |