Masked Edit Control (3)

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.


We had been using the MSMask.ocx control in our MFC application for almost a year.
Recently a 200K memory leak was traced to the setText method (200K each time it
was called), so we downloaded another masked edit class from the web, but it flickered
intensely and the code was kind of icky. Anyway, I decided to write my own. Turns out
it works better than I could have hoped. It’s easy to use and the source code very
simple allowing anyone to extend it as necessary.

In ::OnInitDialog()

m_maskEdit.SubclassDlgItem(IDC_EDIT_MASK, this);

// Initialize the control to "State: KS, Zip: 66202-1234"
m_maskEdit.setMask("State: ??, Zip: #####-####");
m_maskEdit.setText("KS662021234");

In ::OnOk()

// getText returns "KS66202123"
CString strTemp = m_maskEdit.getText();

// GetWindowText yields "State: KS, Zip: 66202-1234"
m_maskEdit.GetWindowText(strTemp);

Download demo project – [17] KB

Download source – [2] KB

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read