转载:http://www.myexception.cn/vc-mfc/300749.html

编辑框是供用户输入的,但有时候我们要限制用户输入的内容,比如我们不让用户输入中文,只能输入字符和数字,因此要对用户输入的内容进行过滤。

Duilib中的Edit是原生的窗口,当用户输入时,编辑框的内容被用户改变了,会触发EN_CHANGE事件

看Duilib源码

所以在我们自己的窗口类里处理 _T("textchanged") 消息类型

    else if (msg.sType == _T("textchanged"))
{
if ( _tcscmp(m_pEdit->GetText(),m_pEdit->GetSrcTipValue()) != &&!m_pEdit->GetText().IsEmpty())
{
CString strValue = m_pEdit->GetText(); for ( int nIndex = ; nIndex < strValue.GetLength() ; nIndex++ )
{
if( strValue.GetAt( nIndex ) >= || strValue.GetAt( nIndex ) < )
{
//ASCII码0~127是数字和字符,所以大于128的小于0的都过滤掉
strValue = strValue.Left( nIndex ) + strValue.Right( strValue.GetLength() - nIndex - );//包含中文的字符过滤掉
m_pEdit->SetText(strValue);
m_pEdit->SetSel(strValue.GetLength(),strValue.GetLength());//重设给光标设置位置
}
}
}
}

看效果

Duilib Edit编辑框禁止输入中文的方法的更多相关文章

  1. 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

  2. delphi edit编辑框使用

    Delphi编辑框Edit的用法 http://wenku.baidu.com/link?url=oKKm0VFBXexqiWt9ZNB8WxFGzwjJqRBM3ohrAy6GSMmOmwIzSWP ...

  3. EDIT编辑框

    编辑框 编辑框的主要作用是让用户输入文本,例如要求用户在编辑框中输入密码的文本. .基础知识 编辑框里的文本可以是单行,也可以是多行,后者的风格取值为 ES_MULTILINE.一般对于多行文本编辑框 ...

  4. EditText中禁止输入中文的方法

    应用场景 在Android应用中有时需要EditText中只允许输入约定的一些字符,禁止输入其他字符.这里列举了一些可能的应用场景. 1. 场景一 在通讯录保存好友信息界面中填写好友的电话号码时,应当 ...

  5. edit编辑框相关

    从Edit Control获取值,然后通过MessageBox输出出来 void CNowaMagic_MFCDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代 ...

  6. DbVisualizer中SQL编辑框输入中文显示乱码

    打开tools工具栏,选择tool properties,选择General--Appearance--Fonts,将fonts上面的三个字体都设置为仿宋,Apply,OK.

  7. 禁止输入中文 与 禁止输入数字在phonegap api环境效果

    例子如下: <!doctype html> <html> <head> <meta charset="utf-8"> <tit ...

  8. [Python] wxPython 编辑框组件学习总结 (原创)

    1.总结 1.常用4种 编辑框 的构造 1.普通编辑框 单行输入的简单编辑框 (?为所在框的对象,同下) self.textBox = wx.TextCtrl(parent = ?) 2.密码编辑框 ...

  9. MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.

    MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...

随机推荐

  1. python requests模块的两个方法content和text

    requests模块下有两个获取内容的方法,很奇怪,都是获取请求后内容的方法,有什么区别呢?? 一.区别 content:返回bytes类型的数据也就是二进制数据 text:返回的就是纯文本(Unic ...

  2. PAT 1024 Palindromic Number[难]

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  3. c++多态特性总结

    将父类比喻为电脑的外设接口,子类比喻为外设,现在我有移动硬盘.U盘以及MP3,它们3个都是可以作为存储但是也各不相同.如果我在写驱动的时候,我用个父类表示外设接口,然后在子类中重写父类那个读取设备的虚 ...

  4. MQTT协议学习研究 & Mosquitto简要教程(安装和使用)

    若初次接触MQTT协议,可先理解以下概念: [MQTT协议特点]——相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好地实现远程控制. [MQTT协议角色]——在RESTfu ...

  5. Lintcode: Kth Prime Number (Original Name: Ugly Number)

    Ugly number is a number that only have factors 3, 5 and 7. Design an algorithm to find the kth numbe ...

  6. Object之wait

    一.源码. 1.公共本地,且可继承但不可重写. 2.公共,且可继承但不可重写. 3.公共,且可继承但不可重写. 二.解释. 1.因为这些方法是Object类中的非静态的public方法,而任何其他类都 ...

  7. Python3 socketserver模块

    socketserver(在Python2.*中的是SocketServer模块)是标准库中一个高级别的模块.用于简化网络客户与服务器的实现(在前面使用socket的过程中,我们先设置了socket的 ...

  8. zw版【转发·台湾nvp系列Delphi例程】HALCON MaxImage2

    zw版[转发·台湾nvp系列Delphi例程]HALCON MaxImage2 procedure TForm1.Button1Click(Sender: TObject);var image0, i ...

  9. 神经网络 java包

    java神经网络组件Joone.Encog和Neuroph https://github.com/deeplearning4j/deeplearning4j http://muchong.com/ht ...

  10. 修練營ASP.NET]淺談多層式架構 (Multi Tiers)

    從需求談起 我們舉個小例子來理解一般的方式與多層的方式有何不同 假設:我需要顯示最近三個月內,所有營業員的銷售金額成績排名 一般的做法: 在一個畫面中,拉個GridView,一個SqlDataSouc ...