1、CEditUI 禁止使用中文输入法

在 CEditUI::DoEvent 函数中,添加代码:

if(m_bOnlyEnglishChar && m_pWindow && m_pWindow->GetHWND() != NULL)
ImmAssociateContext(m_pWindow->GetHWND(), NULL); //禁用中文输入法,只可输入键盘上的现有字符
在 CEditUI::SetAttribute 函数中添加:
else if (_tcscmp(pstrName, _T("englishChar")) == )
SetEnglishChar(_tcscmp(pstrValue, _T("true")) == );
//m_bOnlyEnglishChar 为自定义bool变量,在SetAttribute 函数中设置,不再赘述。

2、CEditUI 不显示默认的右键菜单

在 CEditWnd::HandleMessage 函数中,添加代码:

     else if (uMsg == WM_CONTEXTMENU)
{
if (m_pOwner && !m_pOwner->IsShowContextMenu())
{
bHandled = TRUE;
return lRes;
}
bHandled = FALSE;
}

在 CEditUI::SetAttribute 函数中添加:

else if (_tcscmp(pstrName, _T("rightMenu")) == )
SetShowContextMenu(_tcscmp(pstrValue, _T("true")) == );
    void CEditUI::SetShowContextMenu(bool b) //默认右键菜单
{
m_bShowContextMenu = b;
}
bool CEditUI::IsShowContextMenu() //是否显示默认右键菜单
{
return m_bShowContextMenu;
}

3、CEditUI  中禁止粘贴 (即:不能使用 ctrl + v)

在函数 CEditWnd::HandleMessage 中,添加代码:

        else if (uMsg == WM_PASTE) //右键“粘贴”,或ctrl+v
{
if (m_pOwner && !m_pOwner->IsCanPaste()) //不能粘贴
return lRes;
bHandled = FALSE; //默认粘贴功能
}

在 CEditUI::SetAttribute 函数中添加:

else if (_tcscmp(pstrName, _T("paste")) == )
SetCanPaste(_tcscmp(pstrValue, _T("true")) == );
    void CEditUI::SetCanPaste(bool b)
{
m_bCanPaste = b;
}
bool CEditUI::IsCanPaste()
{
return m_bCanPaste;
}

通过以上三步,可以实现 CEditUI 中只能输入键盘上的符号,禁止输入中文全角字符,也不能复制粘贴其他来源的中文字符。

duilib CEditUI 禁止输入中文字符,禁止复制粘贴的更多相关文章

  1. Android EditText禁止复制粘贴

    1,自定义EditText package com.example.ui; import android.annotation.SuppressLint; import android.content ...

  2. android EditText禁止复制粘贴完整代码

    <!-- 定义基础布局LinearLayout --> <LinearLayout xmlns:android="http://schemas.android.com/ap ...

  3. [JavaScript] 怎么使用JS禁止复制粘贴

    1. 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格键右边的windows键也可以激活这个快捷菜单 <table border oncontextmenu=re ...

  4. js禁止复制粘贴

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格 ...

  5. js 禁止复制粘贴

    1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格 ...

  6. TextBox禁止复制粘贴和数字验证,小数验证,汉字验证

    验证小数 #region 验证小数 /// <summary> /// 验证小数 /// </summary> /// <param name="sender& ...

  7. IE屏蔽鼠标右键、禁止复制粘贴等功能

    <body oncontextmenu="return false" onselectstart="return false" ondragstart=& ...

  8. input 禁止 复制 粘贴 剪切 操作

    1.代码 <Input onCopy={(e)=>{ // 禁止拷贝 e.preventDefault(); }} onPaste={(e)=>{ // 禁止粘贴 e.prevent ...

  9. js 禁止复制粘贴全选

    // 取消右键菜单document.oncontextmenu = function(e){ var t = e || window.event; var elm = t.target || t.sr ...

随机推荐

  1. android 实践项目三

    android 实践项目三 本周我主要完成的任务是将代码进行整合,然后实现百度地图的定位与搜索功能.在这次实现的 图形界面如下: 在本周的工作中主要的实现出来定位与收索的功能,在地图中能实现了定位,显 ...

  2. Cocos 开发笔记

    经发现: cocos creator 提供的hello world 模版中.只有HelloWorkd.js中 properties 属性 text的值不是'hello world!' Label 组件 ...

  3. noip 2014 提高组 Day 2

    1.无线网络发射器选址 这道题数据范围很小,就直接暴力枚举就好了.为了提高速度,就从每个有公共场所的点枚举周围在(x,y)放无线网路发射器可以增加的公共场所数量,加到一个数组里.所有公共场所都处理完了 ...

  4. pip install MySQL-python

    在win7下安装了python后,想安装python-mysql,使用pip安装出现如下问题: pip install MySQL-pythonbuild\lib.win-amd64-2.7\_mys ...

  5. Go第二篇之基本语法总结

    Go语言标识符 标识符以字母或下划线开头,大小写敏感 _是特殊标识符,用来忽略结果 Go语言变量的声明 变量(Variable)的功能是存储用户的数据.不同的逻辑有不同的对象类型,也就有不同的变量类型 ...

  6. linux网络编程--网络编程的基本函数介绍与使用【转】

    本文转载自:http://blog.csdn.net/yusiguyuan/article/details/17538499 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览 ...

  7. POJ1251 Jungle Roads (最小生成树&Kruskal&Prim)题解

    题意: 输入n,然后接下来有n-1行表示边的加边的权值情况.如A 2 B 12 I 25 表示A有两个邻点,B和I,A-B权值是12,A-I权值是25.求连接这棵树的最小权值. 思路: 一开始是在做莫 ...

  8. 如何在一台主机上管理自己的多个git repository

    在使用git时,通常是直接ssh-keygen生成默认秘钥.然后将共钥添加到远程仓库,就可以访问了. 但是,当我们有多个repository时,这种方式就不适用了,因为一个秘钥只能关联一个远程仓库. ...

  9. 【核心API开发】Spark入门教程[3]

    本教程源于2016年3月出版书籍<Spark原理.机制及应用> ,在此以知识共享为初衷公开部分内容,如有兴趣,请支持正版书籍. Spark综合了前人分布式数据处理架构和语言的优缺点,使用简 ...

  10. Java 创建多线程的三种方法

    1. 继承Thread类2. 实现Runnable接口3. 匿名类的方式 注: 启动线程是start()方法,run()并不能启动一个新的线程