Numeric Edits, with Limits and Spinner

The numeric edits here are supposed to work with floats, they are somewhat based on the code on T. VU KHAC' Numeric edit and numeric spin controls. So he may have some copyrigths. These classes should be easier to use than his, and depend less on each other.

The 3 numeric edits in this project are . CNumEdit, that accepts floats with a limited number of digits. CNumRangeEdit, that has upper and lower limits for the floats CNumSpinEdit, that has a spinner, limits, and can color txt CSpin, that can spin floats, not integers This UML class diagram should Illustrate the design.

The CSpin accepts +,-,VK_UP, VK_DOWN to count up or down once. and pgDown/up to de/increase the value by 10 * step size.

There are some known bugs in the code: a) you can use SetWindowText on the edit an paste txt into it. b) the user can enter more than the specified digits after the '.'

Downloads

Download demo project - 15 Kb


Comments

  • Fix for the second known bug

    Posted by Legacy on 09/03/2003 12:00am

    Originally posted by: Gavin

    To correct the ability to enter more than the specified digits after the '.' change the last section of code in the bool CNumEdit::CheckInput (UINT nChar) function to:
    
    

    /////// limit digits after '.'
    if ( pos > dot)
    {
    // no insert if
    // there is more than m_digits digits after zero.
    if ( pos -dot > m_digits )
    return false;
    // the insert will cause the same
    if ( len - dot> m_digits)
    return false;
    }


    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Microsoft® Office 365 is a top choice for enterprises that want a cloud-based suite of productivity/ collaboration applications. With Office 365, you get access to Microsoft™ Office solutions practically anytime, anywhere, on virtually any device. It's a great option for current Microsoft users who can now build on their experience with Microsoft™ solutions while enjoying the flexibility of a cloud-based delivery. But even organizations with no previous investment in Microsoft will find that …

  • On-demand Event Event Date: July 28, 2016 Jepsen tests are third-party tests for distributed databases that validate vendors' guarantees about how they perform under various failure scenarios, especially network partitions. These have proven their value as tools in any distributed system tester's arsenal. When the creator of Jepsen, Kyle Kingsbury, started his Jepsen-for-Hire business last fall, VoltDB immediately got in line, and over the past two months, our solution was given the most stringent Jepsen …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date