CSpinButtonCtrl *pSpin = (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_SHOT);
pSpin->SetRange32(0,99999);
pSpin->SetPos(56789);
可是我的edit框里显示0,
超过32767就不能在加1,因为edit内要求的数字范围其实是ULONG范围的,我该怎么解决呢?
多谢!
pSpin->SetRange32(0,99999);
pSpin->SetPos(56789);
可是我的edit框里显示0,
超过32767就不能在加1,因为edit内要求的数字范围其实是ULONG范围的,我该怎么解决呢?
多谢!
不是吧?ULONG可以大到4294967295大概是因为pSpin->SetPos,因为vc.net里是有SetPos32这个函数的。
可是我是用VC编的,该怎么办呢?
pSpin->SetRange32(0,99999);
pSpin->SetPos(56789);
pSpin->Setbuddy(GetDlgItem(IDC_EDT_YOUR));不知我是否正确理解了你的意思?
添加SPIN的UDN_DELTAPOS消息处理
void CYourDlg::OnDeltaposYourSpin(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
UpdateData();
m_dwData += pNMUpDown->iDelta;//还要加几句判断使得m_dwData的值合理,比如m_dwData不能为负,-1对应的将是一个很大的数。
UpdateData(FALSE);
*pResult = 0;
}