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

More by Author

Must Read