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")) == 0)
    SetEnglishChar(_tcscmp(pstrValue, _T("true")) == 0);
//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")) == 0)
    SetShowContextMenu(_tcscmp(pstrValue, _T("true")) == 0); 
    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")) == 0)
    SetCanPaste(_tcscmp(pstrValue, _T("true")) == 0); 

 

    void CEditUI::SetCanPaste(bool b)
    {
        m_bCanPaste = b;
    }
    bool CEditUI::IsCanPaste()
    {
        return m_bCanPaste;
    }

 

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

 

转载于:https://www.cnblogs.com/pjl1119/p/7544003.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值