我想让编辑框中的内容从0.1到1.0以0.1步进变化,当按下Spin的上下按键时,可以从0.1到1.0连续变化,问题在于,比如此时编辑框内容为0.1,按下旋转按钮上键编辑框中内容变为0.2,如果我此时将编辑框内容手动修改为0.5,此时按下Spin上键编辑框中的内容并不变为0.6而是变为0.3,这是为什么呢?而如果我将编辑框中的内容手动修改为5,再次按下Spin上键却变成了0.6
问题出在哪里呢?
问题出在哪里呢?
在spin点击事件里先updatedata一次获取edit里最新值...
在spin点击事件里先updatedata一次获取edit里最新值...
目前的问题是,为什么在编辑框中输入0.5后按下Spin上键不能得到0.6,而输入5后按下Spin上键却可以得到0.6,感觉还是Spin控件还是可以接收到编辑框中内容的吧
在spin点击事件里先updatedata一次获取edit里最新值...
目前的问题是,为什么在编辑框中输入0.5后按下Spin上键不能得到0.6,而输入5后按下Spin上键却可以得到0.6,感觉还是Spin控件还是可以接收到编辑框中内容的吧你真能想 spin有那么聪明? 你有什么关联的动作让spin知道是要去调整edit吗? 还是又告诉spin 0.1的去调整edit?
在spin点击事件里先updatedata一次获取edit里最新值...
目前的问题是,为什么在编辑框中输入0.5后按下Spin上键不能得到0.6,而输入5后按下Spin上键却可以得到0.6,感觉还是Spin控件还是可以接收到编辑框中内容的吧你真能想 spin有那么聪明? 你有什么关联的动作让spin知道是要去调整edit吗? 还是又告诉spin 0.1的去调整edit?
void CGuanJianCiFenXiDlg::OnEnChangeEdit2()
{ // TODO: 在此添加控件通知处理程序代码
CString eData;
GetDlgItem(IDC_EDIT2)->GetWindowTextA(eData);
m_nEdit2 = atof((TCHAR *)(LPTSTR)(LPCTSTR)eData);
』
void CCommonControlDlg::OnVScroll(UINT nSBCode,UINT nPos,CScrollBar *pScrollBar)
{
if(SB_ENDSCROLL==nSBCode)
return;
if(pScrollBar->GetDlgCtrlID()==IDC_SPIN)
{
CSpinButtonCtrl* pSpin=(CSpinButtonCtrl*)pScrollBar;
CString strValue;
strValue.Format("%3.1f",(double)pSpin->GetPos()/10);
SetDlgItemText(IDC_EDIT2, strValue);
}
CDialog::OnVScroll(nSBCode,nPos,pScrollBar);
}