`

控制CEdit中文字输入格式(浮点类型)

    博客分类:
  • C++
 
阅读更多
void CExpendDlg::OnEnChangeEditExpendMoney()
{
    // TODO:  If this is a RICHEDIT control, the control will not
    // send this notification unless you override the CDialog::OnInitDialog()
    // function and call CRichEditCtrl().SetEventMask()
    // with the ENM_CHANGE flag ORed into the mask.

    // TODO:  Add your control notification handler code here

    CString strTemp;
    CEdit* pEdit = (CEdit*) GetDlgItem(IDC_EDIT_EXPEND_MONEY);

    pEdit->GetWindowText(strTemp);

    int start = 0;
    int end = 0;
    pEdit->GetSel(start, end);

    if (end == 0)
    {
        return;
    }

    if (strTemp.GetLength() > 0)
    {
        TCHAR character = strTemp.GetAt(end-1);

        if ( ((!(character>='0' && character<='9') && character != '.'))
            || strTemp.Find('.') !=  strTemp.ReverseFind('.') )
        {
            int setPos = strTemp.GetLength();
            strTemp.Delete(end-1, 1);
            pEdit->SetWindowText(strTemp);
            pEdit->SetSel(setPos-1,setPos-1);
        }
    }
}
分享到:
评论

相关推荐

    cedit 只允许 输入 数字 数字控件

    这种控件在许多应用程序中都有应用,比如财务软件、数据输入界面等,它能够限制用户输入的数据格式,确保数据的准确性。 标题提到的"cedit 只允许 输入 数字",意味着我们需要自定义一个CEDIT控件的子类,以便过滤...

    CEdit框字体垂直居中

    CEdit控件允许用户输入和显示单行或多行文本,它支持多种格式,如文本颜色、字体样式等。然而,默认情况下,CEdit框的文本是顶部对齐的,而不是垂直居中。因此,我们需要自定义CEdit控件的行为来达到垂直居中的效果...

    CEdit控件重写类CEditList,输入自动提示匹配内容

    本文将详细探讨如何利用MFC中的CEdit控件进行重写,以实现一个名为CEditList的类,该类具有输入自动提示匹配功能。这在很多应用场景中,如搜索框或命令行界面,都是非常实用的功能。 首先,CEdit是MFC提供的一个...

    一个限制只能输入数字(正负数都行)的MFC扩展CEdit类

    当接收到此消息时,我们可以检查用户输入的内容,如果不符合正负整数或浮点数的格式,就撤销这次修改。 以下是实现这个功能的一些关键步骤: 1. **创建新的类**:首先,我们需要创建一个新的C++类,例如`...

    Cedit 类 修改edit编辑框字体大小

    2. **设置字体**:接下来,我们需要获取或创建一个`CFont`对象来定义字体的样式,包括大小、类型等。你可以使用`CFont`类的构造函数来创建一个新的字体,或者使用`CFont::CreatePointFont()`或`CFont::...

    CEdit输入过滤实例

    这种输入过滤机制对于确保数据的准确性和一致性至关重要,特别是在需要用户输入特定类型信息(如年龄、电话号码或价格)的应用中。通过编程方式实现输入过滤,我们可以防止用户输入无效或不期望的数据。 在这个...

    VC MFC CEDIT派生类 控件背景色 字体修改

    CEdit是MFC中用于创建和管理编辑框(文本输入控件)的类,它继承自CWnd类。 首先,我们需要创建一个派生自CEdit的自定义类,例如叫做CLogEdit。在`LogList.h`文件中,我们可以这样定义: ```cpp class CLogEdit : ...

    CEdit过滤字符和限制长度实例

    CEdit是MFC对Windows API中的EDIT控制的封装,允许用户在应用程序中输入和显示文本。默认情况下,CEdit控件接受任意字符输入,没有长度限制。但根据需求,有时我们需要对输入进行特定的控制,比如禁止某些特殊字符的...

    数字输入文本框CEditNumeric

    3. **格式化输出**:除了输入控制,CEditNumeric还可能提供了数字格式化的功能,比如保留小数位数、千分位分隔符等,使得显示的数字更符合用户的阅读习惯。 4. **事件处理**:CEditNumeric类可能会扩展CEdit的标准...

    设置CEdit的文本框背景色和文字颜色

    [WTL/ATL]_[初级]_[如何设置CEdit的文本框背景色和文字颜色] 项目配套的项目代码,至少 VS2010以上编译 ,Debug模式。 https://blog.csdn.net/infoworld/article/details/124196002

    基于MFC的数字Edit类(只能输入数字)

    在MFC中,`CEdit`类是用于处理标准Windows编辑框(Edit Control)的,而有时我们需要对这个控件进行自定义,比如限制用户只能输入特定格式的数据,如数字。本篇将详细介绍如何基于MFC创建一个只允许输入数字的封装类...

    MFC限制编辑框输入的字符类型

    在MFC(Microsoft Foundation Classes)框架中,我们经常需要对用户在编辑框(CEdit类)中的输入进行控制,确保其只能输入特定类型的字符。这通常涉及到文本验证,以防止非法字符的输入或者保证数据的格式正确。本...

    CEdit类的介绍 CEdit.doc

    **CEdit类详解** 在Microsoft Visual C++ (VC++)中...`CEdit`类提供了丰富的功能,包括文本编辑、格式控制、剪贴板操作等,是VC++开发中常用的控件之一。理解并熟练使用`CEdit`可以帮助开发者创建更加友好的用户界面。

    多功能CEdit类

    在“多功能CEdit类”中,我们看到这个封装类扩展了CEdit的功能,使其能够处理浮点数、货币和百分数等更复杂的输入格式。 1. **浮点数输入**: 在标准的CEdit控件中,用户输入的数字会被当作字符串处理,需要额外的...

    MFC EditBox 编辑框禁止输入中文

    默认情况下,CEdit控件允许用户输入任何类型的字符,包括中文字符。 禁止输入中文的主要思路是拦截键盘输入事件,检查用户按下的是中文字符,并在必要时阻止其输入。MFC提供了一种机制来实现这个功能,即重载CEdit...

    自定义CEdit:CFloatEdit

    4. **格式控制**:为了保持输入的小数格式一致,例如限制小数位数,可以在OnChar()函数中进一步处理。如果输入的小数位数超过预设值,可以删除多余的位数。 5. **错误提示**:如果用户尝试输入无效的字符,可以弹出...

    CEdit实现垂直居中、字体颜色、光标插入符设置

    对CEdit封装,实现垂直居中设置,字体颜色背景色的设置,以及插入符的设置; 主要接口: void SetBkColor(COLORREF dwBkColor); void SetTextColor(COLORREF dwTextColor) ; void SetBorderColor(COLORREF dwTopLeft...

    鼠标浮与CEdit上方显示提示信息

    在Windows编程中,CEdit是MFC(Microsoft Foundation Classes)库中的一个类,它封装了标准的Windows编辑控件,用于实现用户界面中的文本输入和显示功能。在某些情况下,我们可能希望在用户将鼠标悬停在CEdit控件...

    MFC实现Edit输入限制(只允许输入数字,负号和小数点)

    本教程将详细讲解如何实现一个只允许用户输入数字、负号和小数点的CEdit控件。这个功能在很多需要进行数值输入的场景下非常实用,比如财务软件或者科学计算应用。 首先,我们需要创建一个新的类,继承自CEdit。这个...

    MFC_cedit_控件使用方法.doc

    MFC 中 CEdit 控件的使用方法 CEdit 控件是 MFC 中的一个基本控件,提供了 Windows 编辑控件的功能。下面是 CEdit 控件的使用方法。 首先,CEdit 控件可以通过对话模板或直接从代码中创建。在两种情况下,首先调用...

Global site tag (gtag.js) - Google Analytics