duilib CEditUI 禁止输入中文字符,禁止复制粘贴
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 禁止输入中文字符,禁止复制粘贴的更多相关文章
- Android EditText禁止复制粘贴
1,自定义EditText package com.example.ui; import android.annotation.SuppressLint; import android.content ...
- android EditText禁止复制粘贴完整代码
<!-- 定义基础布局LinearLayout --> <LinearLayout xmlns:android="http://schemas.android.com/ap ...
- [JavaScript] 怎么使用JS禁止复制粘贴
1. 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格键右边的windows键也可以激活这个快捷菜单 <table border oncontextmenu=re ...
- js禁止复制粘贴
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格 ...
- js 禁止复制粘贴
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格 ...
- TextBox禁止复制粘贴和数字验证,小数验证,汉字验证
验证小数 #region 验证小数 /// <summary> /// 验证小数 /// </summary> /// <param name="sender& ...
- IE屏蔽鼠标右键、禁止复制粘贴等功能
<body oncontextmenu="return false" onselectstart="return false" ondragstart=& ...
- input 禁止 复制 粘贴 剪切 操作
1.代码 <Input onCopy={(e)=>{ // 禁止拷贝 e.preventDefault(); }} onPaste={(e)=>{ // 禁止粘贴 e.prevent ...
- js 禁止复制粘贴全选
// 取消右键菜单document.oncontextmenu = function(e){ var t = e || window.event; var elm = t.target || t.sr ...
随机推荐
- golang debug调试
1. debug by gdb: office doc download the runtime-gdb file. $ wget -q -O - https://golang.org/src/run ...
- 強化 Python 在 Vim 裡的顏色
我習慣用 putty 連 Unix server 開 screen,再用 vim 寫 Python.這篇記錄如何改善 Python 的顏色. 啟動 256 色 terminal 首先將可用的色彩數增加 ...
- UVa 10285 Longest Run on a Snowboard - 记忆化搜索
记忆化搜索,完事... Code /** * UVa * Problem#10285 * Accepted * Time:0ms */ #include<iostream> #includ ...
- poj 1274 The Prefect Stall - 二分匹配
Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 22736 Accepted: 10144 Description Far ...
- 在服务中用管理员权限创建一个可弹出UI的进程 (转载)
转载:http://blog.csdn.net/woshinia/article/details/7850295 转载:http://blog.csdn.net/hurryboylqs/article ...
- dp入门 专题记录 2017-7-26
POJ3176-Cow Bowling 题目大意:现有n行数,以金字塔的形式排列,即第一行一个数字,第二行2个数字,依次类推,现在需要找一条从第一层到第n层的路线,使得该路线上的所有点的权值和最大 思 ...
- js ajax跨域
一般情况后台返回... 也就是说,无论数据本身是什么数据类型,数据,对象,都是以字符串形式返回的. 如何把字符串化成相应对象. 如: var s='{"left":100}' co ...
- 使用u盘重装双系统中的乌班图
之前的乌班图被我玩坏了,故而想重装一个.由于之前的双系统是同学帮我装的,我便到网上找各种资料,鼓弄了一天,终于完事了.把过程记录一下. window10 64bit ubuntu 14.04 desk ...
- 安装ceres-solver
安装依赖: sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glo ...
- TeamViewer 说明截图