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

  • Hurricane Sandy was one of the most destructive natural disasters that the United States has ever experienced. Read this success story to learn how Datto protected its partners and their customers with proactive business continuity planning, heroic employee efforts, and the right mix of technology and support. With storm surges over 12 feet, winds that exceeded 90 mph, and a diameter spanning more than 900 miles, Sandy resulted in power outages to approximately 7.5 million people, and caused an estimated $50 …

  • It's time high-level executives and IT compliance officers recognize and acknowledge the danger of malicious insiders, an increased attack surface and the potential for breaches caused by employee error or negligence. See why there is extra emphasis on insider threats.

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds