Introduction
At first, sorry if my English isn't very well. The CEditMoeda
allows to capture currency values with a CEdit
.
To facilitate the usage, the control was sub-classed from CFocusEditCtrl
, created by James R. Twine.
Background
The idea of this edit control came from the system of electronic attendance in my country. While the user is typing the value, the zeros and decimal separators are shown at the edit control.
Using the code
The code is too simple, but has 3 details.
- Create and initialize a
double
to receive the captured value (create at the class, but do not use the Add Variable at Class Wizard
- Register a
double
to receive the typed value BOOL CEditMoedaDemoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_EditMoedaCtr.RegistraDouble(m_Valor);
return TRUE;
}
- Include one line to send the typed value
void CEditMoedaDemoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_EditMoeda, m_EditMoedaCtr);
m_EditMoedaCtr.Update();
}
- To facilitate the creation and usage of the
CEdtiMoeda
, specify the currency symbol by the variable m_SimboloMonetario
.
Problems
Until now, I can't move the caret to the end fo the text. If someone can obtain this code, please send me an e-mail.