• 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 中只能输入键盘上的符号,禁止输入中文全角字符,也不能复制粘贴其他来源的中文字符。

  • 相关阅读:
    webpack浅析
    MongoDB简易
    async函数
    react -- context
    抓包移动端方法
    stateless 无状态组件
    移动端适配
    JS和JQuery获取和修改Label的值的示例代码
    HTML DOM querySelector() 方法
    filter
  • 原文地址:https://www.cnblogs.com/pjl1119/p/7544003.html
Copyright © 2020-2023  润新知