65.9K
CodeProject 正在变化。 阅读更多。
Home

CEditMoeda

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.25/5 (3投票s)

2002年10月23日

viewsIcon

60556

downloadIcon

846

用于高效捕获货币值的 CEdit 增强功能。

Demonstration of CEditMoeda

引言

首先,如果我的英语不太好,请见谅。CEditMoeda 允许使用 CEdit 捕获货币值。

为了方便使用,该控件是从 James R. Twine 创建的 CFocusEditCtrl 子类化而来。

背景

这个编辑控件的想法来自于我所在国家的电子考勤系统。当用户键入值时,零和十进制分隔符会显示在编辑控件中。

使用代码

代码很简单,但有 3 个细节。

  1. 创建一个 double 来接收捕获的值(在类中创建,但不要在类向导中使用添加变量)。
  2. 注册一个 double 来接收键入的值。
    BOOL CEditMoedaDemoDlg::OnInitDialog()
    {
        CDialog::OnInitDialog();
        // TODO: Add extra initialization here
    
        //Register the DOUBLE with control
        m_EditMoedaCtr.RegistraDouble(m_Valor);
    
        return TRUE;  // return TRUE  unless you set the focus to a control
    }
  3. 包含一行代码来发送键入的值。
    void CEditMoedaDemoDlg::DoDataExchange(CDataExchange* pDX)
    {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CEditMoedaDemoDlg)
        DDX_Control(pDX, IDC_EditMoeda, m_EditMoedaCtr);
        //}}AFX_DATA_MAP
        m_EditMoedaCtr.Update();
    }
  4. 为了方便创建和使用 CEdtiMoeda,通过变量 m_SimboloMonetario 指定货币符号。

问题

到目前为止,我无法将光标移动到文本的末尾。如果有人能够实现此代码,请给我发送电子邮件。

© . All rights reserved.