CSpinButtonCtrl使用说明

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()
{
    
    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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值