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
}