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 ...
随机推荐
- Postgresql数据库实用命令
Postgresql 命令 pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 启动数据库 cr ...
- vijos 1096 津津的储存计划
题目描述 Description 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以 ...
- STM32定时器的预装载寄存器与影子寄存器之间的关系【转】
首先转载: STM32定时器的预装载寄存器与影子寄存器之间的关系 本文的说明依据STM32参考手册(RM0008)第10版:英文:http://www.st.com/stonline/produc ...
- Oracle 存储过程入门(一)
一,基本入门介绍 公司系统需要用到oracle,可是还没在项目用过oracle,好吧,从基本学起.有问题的地方,欢迎指导啊. 看创建存储过程的基本定义.注意,带有[]的都是可选的,可有可无的.只是语法 ...
- 【转载】TCP慢启动、拥塞避免、快速重传、快速回复
转载自:TCP慢启动.拥塞避免.快速重传.快速回复 转自:http://blog.csdn.net/itmacar/article/details/12278769 感谢博主的辛勤成果! 为了防止网络 ...
- Spring中bean作用域属性scope
关键字: spring中属性scope的prototype是什么意思 默认情况下,从bean工厂所取得的实例为Singleton(bean的singleton属性) Singleton: Spri ...
- Codeforces Round #225 (Div. 2) E. Propagating tree dfs序+-线段树
题目链接:点击传送 E. Propagating tree time limit per test 2 seconds memory limit per test 256 megabytes inpu ...
- 关于express项目的创建与启动
没有经常用,所以经常搞错, 创建express项目,需要新建一个文件夹名,这个文件名就是用来承载express的内容的, 好了.打开终端,cd至创建的文件夹之下. 也可以直接这样,如以下,admin为 ...
- bugfree 数据库配置 显示No such file or directory
把数据库服务器 localhost 改成127.0.0.1 sudo vi /etc/hosts 增加: 127.0.0.1 localhost 127.0.0.1 你的hostname ...
- MSVC_代码优化
测试环境: Win7x64 cn_visual_studio_2010_ultimate_x86_dvd_532347.iso qt-opensource-windows-x86-msvc2010_o ...