网上很多关于CSpinButtonCtrl控件的小数(浮点型)递增的用法。而我要做的是以10为递增量的递增递减。
设置属性:
选中Auto buddy项、Set buddy integer项、Arrow keys项
将Alignment项选为Right。
在OnInitDialog函数中初始化CSpinButtonCtrl控件:
BOOL CMFC_textDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_edSpin.SetRange(0,1000);//m_edSpin为与CSpinButtonCtrl控件相关联的变量。
return TRUE; // return TRUE unless you set the focus to a control
}
由于CSpinButtonCtrl控件在发生变化时会产生WM_VSCROLL消息,于是定义函数:
void CMFC_textDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
m_strEdit.Format("%d",(int)nPos+99);
m_edSpin.GetBuddy()->SetWindowText(m_strEdit);
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
实现了从1,以10为递增量的递增。