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

  • IBM Worklight is a mobile application development platform that lets you extend your business to mobile devices. It is designed to provide an open, comprehensive platform to build, run and manage HTML5, hybrid and native mobile apps.

  • New IT trends to support worker mobility — such as VDI and BYOD — are quickly gaining interest and adoption. But just as with any new trend, there are concerns and pitfalls to avoid.  Download this paper to learn the most important considerations to keep in mind for your VDI project.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds