Numeric Edit Control

In my application I needed an edit control which accepts only numeric numbers. In many science applications this is indispensable, but it is actually not implemented in MS-Visual C/C++. It is not difficult to implement this control and I see that some people implemented it. In my own code, some new features were enriched as error messages and range defines, etc.

Anyhow, my work is in progress...



class CNumEdit : public CEdit
{
public:
 CNumEdit();
 virtual ~CNumEdit();

public:
 enum {VALID = 0x00, OUT_OF_RANGE = 0x01, INVALID_CHAR = 0x02};
 virtual void Verbose(BOOL v);
 virtual BOOL Verbose();
 virtual int IsValid();
 virtual int IsValid(const CString &str);
 virtual void SetValue(float val);
 virtual float GetValue();
 virtual void GetRange(float &max, float &min);
 virtual void SetRange(float max, float min);

protected:
 BOOL m_Verbose;
 float m_Delta, m_MinValue, m_MaxValue;

 //{{AFX_MSG(CNumEdit)
 afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
 //}}AFX_MSG
}


Download demo project - 32 KB



Comments

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

Top White Papers and Webcasts

  • On-demand Event Event Date: April 22, 2014 Database professionals -- whether developers or DBAs -- can often save valuable time by learning to get the most from their new or existing productivity tools. Whether you're responsible for managing database projects, performing database health checks and reporting, analyzing code, or measuring software engineering metrics, it's likely you're not taking advantage of some of the lesser-known features of Toad from Dell. Attend this eSeminar with Dell Software's …

  • Instead of only managing projects organizations do need to manage value! "Doing the right things" and "doing things right" are the essential ingredients for successful software and systems delivery. Unfortunately, with distributed delivery spanning multiple disciplines, geographies and time zones, many organizations struggle with teams working in silos, broken lines of communication, lack of collaboration, inadequate traceability, and poor project visibility. This often results in organizations "doing the …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds