VC6.0 旋转控件如何实现0.5的加减(每按上下箭头加或减0.5),如何设置SetRange( -2.5,2.5)?两个问题,谢
1个回答
展开全部
标准的spin控件是不支持小数的,也就是CSpinButtonCtrl类的SetRange和SetBase都只能支持整数int类型。
要想通过spin调整小数,要么通过消息截获来自定义设置编辑框显示(不能用Buddy绑定),要么派生一个自定义的CSpinButtonCtrl子类,自己做消息响应。
百度“CSpinButtonCtrl 调节小数”可以获取更多内容和文章。
要想通过spin调整小数,要么通过消息截获来自定义设置编辑框显示(不能用Buddy绑定),要么派生一个自定义的CSpinButtonCtrl子类,自己做消息响应。
百度“CSpinButtonCtrl 调节小数”可以获取更多内容和文章。
更多追问追答
追问
网上找到的不正确,不能出结果,请问您有什么比较具体的办法吗?谢谢!
追答
不能出结果应该是你做的不对。
void CAlongWallDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
if(nSBCode==SB_ENDSCROLL)
return;
if(pScrollBar->GetDlgCtrlID()==IDC_MYSPIN)
{
CString str;
CSpinButtonCtrl* pSpinBtCtrl=(CSpinButtonCtrl*)pScrollBar;
pSpinBtCtrl->GetBuddy()->GetWindowText(str);
int pos=_wtoi(str);
str.Format(_T("%2.1f"),(double)pos/10);
((CSpinButtonCtrl*)pScrollBar)->GetBuddy()->SetWindowText(str);
}
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
这个例子是没有问题的,在VC6中可以使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询