我在MFC,C ++中使用旋转控制来更改数字的值。
这是我的代码:
void CHello_worldDlg::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
// TODO: Add your control notification handler code here
m_fSpinIncrement = m_fScalingFactor;
if(pNMUpDown->iDelta == -1) // Increment the value
{
IncrementData(m_fSpinIncrement);
}
else // Decrement the value
{
DecrementData(m_fSpinIncrement);
}
SetDlgItemText(IDC_TEXT3, IDC_SPIN1);
*pResult = 0;
}
里面有错误吗?数字变化将在另一个静态文本框中
由于
答案 0 :(得分:3)
你做的太多了。只需设置适当的properties of the spin control:
,您可以更好地完成您尝试做的所有事情Auto Buddy
将旋转控件连接到它前面的编辑框。Set Buddy Integer
使编辑框自动处理整数。Alignment
会使旋转控件整齐地停靠在编辑框上。您需要的唯一代码是在OnInitDialog中调用SetRange()
。
答案 1 :(得分:0)
您是否在代码的任何部分调用了SpinButtonCtrl::SetRange()
方法?从你的代码中,我认为它没有达到你想要的范围。