Spin控件/CSpinButtonCtrl 修改为上增下减


参考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb759903(v=vs.85).aspxhttp://hi.baidu.com/s025037/item/e06fdcf71c7c3149932af2d2

 

1. 首先,Spin控件的使用:只要把对应的edit框的tab顺序调到它之前即可完成关联。

 

2. 通常Spin控件的工作模式 是 点击 上(up) 减小;  点击  下(down) 增加,见csdn中的SetRange说明:缺省(Min = 100, Max 0,所以是逆序的,上减下增) 

Note

The default range for the spin button has the maximum set to zero (0) and the minimum set to 100. Because the maximum value is less than the minimum value, clicking the up arrow will decrease the position and clicking the down arrow will increase it. UseCSpinButtonCtrl::SetRange to adjust these values.

 

3. 这和我们通常使用的习惯不同,解决起来比较简单:

(推荐)一种常用方法:设置一下正向的范围即可:

((CSpinButtonCtrl*)GetDlgItem(IDC_Spin))->SetRange(1,1000);

 

另一种方法:响应点击事件,然后把iDelta设置为其负值即可实现,这个使用的效果是"负负得正",我们知道有这个方法,但不推荐使用

void CDlg::OnDeltaposSpin(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
          if (pNMUpDown != NULL)
	{
		pNMUpDown->iDelta = -pNMUpDown->iDelta;
	}
         *pResult = 0;
}

 

 Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu  转载请标明来源 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春夜喜雨

稀罕你的喜欢!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值