旋转控制不起作用

时间:2012-12-27 03:10:38

标签: c++ mfc

我在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;
}

里面有错误吗?数字变化将在另一个静态文本框中

由于

2 个答案:

答案 0 :(得分:3)

你做的太多了。只需设置适当的properties of the spin control

,您可以更好地完成您尝试做的所有事情
  1. Auto Buddy将旋转控件连接到它前面的编辑​​框。
  2. Set Buddy Integer使编辑框自动处理整数。
  3. 设置为“正确”的
  4. Alignment会使旋转控件整齐地停靠在编辑框上。
  5. 您需要的唯一代码是在OnInitDialog中调用SetRange()

答案 1 :(得分:0)

您是否在代码的任何部分调用了SpinButtonCtrl::SetRange()方法?从你的代码中,我认为它没有达到你想要的范围。