Spinl控件(CSpinButtonCtrl)
首先对Spinl控件进行初始化
m_Spin.SetBuddy(GetDlgItem(IDC_EDIT1));//关联一个Edit控件
m_Spin.SetRange(-10,10);//设设置微调的范围,SetRange( int nLower, int nUpper );
m_Num=4;//与Edit控件相关联的一个int变量初始化为一个自己定置的默认值
UpdateData(false);//初始化Edit控件的内容
再在VC的资源文件里设置Spin控件的properties
将Alignment设为Left或者Right
将SetBuddyInteger设置为True
如果每次只增加0.1,则SetBuddyInteger设置为false
还应在Class Wizard(类向导里)添加一个函数
在该函数里添加如下代码
void
CZZDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar
*
pScrollBar)
{
if ( nSBCode == SB_ENDSCROLL)
return;
if ( pScrollBar->GetDlgCtrlID() == IDC_SPIN1)
{
CString strValue;
strValue.Format("%3.1f", (double) nPos/10 );
((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(strValue);
}
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
{
if ( nSBCode == SB_ENDSCROLL)
return;
if ( pScrollBar->GetDlgCtrlID() == IDC_SPIN1)
{
CString strValue;
strValue.Format("%3.1f", (double) nPos/10 );
((CSpinButtonCtrl*) pScrollBar)->GetBuddy()->SetWindowText(strValue);
}
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}