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 ...
随机推荐
- xdebug安装方法
打开网址:https://xdebug.org/wizard.php 把phpinfo页面中输出的所有内容复制过来,粘贴在此处点下面那个按钮,系统会分析出你需要下载哪个版本的x-debug,还会告诉你 ...
- PHP安装包TS和NTS的区别
原文链接:http://blog.csdn.net/zhuifengshenku/article/details/38796555 TS指Thread Safety,即线程安全,一般在IIS以ISAP ...
- 20145118《Java程序设计》 第8周学习总结
20145118<Java程序设计> 第8周学习总结 教材学习内容总结 1.Java SE提供了日志API,可以基于标准调用,用于记录.java.util.logging包提供了日志功能相 ...
- 51NOD 1046 A^B Mod C
给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^9) ...
- ubuntu 14.04 安装 gflags
1.下载 git clone https://github.com/gflags/gflags 2.编译 进入源码目录(即gflags文件夹) cmake . make -j 24 sudo make ...
- Github客户端操作
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.作为一个程序员,我们需要掌握其用法. 作为开源代码库以及版本控制系统,Github目前拥有140 ...
- Enumerable扩展方法
主要记录一些平时在工作中用到操作Enumerable的常用方法 /// <summary> /// The i enumerable extension. /// </summary ...
- ZC_C++类函数指针_模拟_Delphi类函数指针
ZC: C++的类函数指针 不像 Delphi的类函数指针,前者 需要规定死 是哪个类的函数的指针,后者就不需要 很灵活. 测试环境: Win7x64 cn_visual_studio_2010_ul ...
- Spring AOP 切面编程记录日志和接口执行时间
最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx.tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特 ...
- 爱阅app --- 答复功能改进建议
共有四组评论,接下来一一答复. 第一组: 希望增加的功能: 1.希望能够继续完善书签功能,增加逐条删除书签功能. 2.能够在爱阅内部打开APP中提供的网址,用户选择一款阅读APP,当然不想每看一本新的 ...