当前位置:首页 > Code > 正文内容

CEdit限定只能输入十六进制数

许玮6年前 (2018-11-22)Code1740

通过重载CEdit类,重写OnChar函数实现

void CClrEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if (m_bHex)//设置是否限定只能输入十进制数
{
        if ((nChar >= 0x30 && nChar <=  0x39) ||
            (nChar >= 'a' && nChar <= 'f') ||
            (nChar >= 'A' && nChar <= 'F') ||
            (nChar == 8)) //Backspace也要能输入
        {
            CEdit::OnChar(nChar, nRepCnt, nFlags);
        }   
    }else
    {
        CEdit::OnChar(nChar, nRepCnt, nFlags);
    }
}

备注:

    暂时实现目的,但是快捷键复制粘贴也被拦截,网上查到可以通过判定Ctrl是否按下来做处理,

但是还要判断剪切板的内容是否能输入,客户催的急,先备注一下,回头来改。

扫描二维码推送至手机访问。

版权声明:本文由Will编程学习之路发布,如需转载请注明出处。

本文链接:http://willhsu.com/?id=11

标签: C/C++
分享给朋友:

相关文章

CentOS8.4安装配置最新jdk3年前 (2021-06-07)
linux安装Intellij IDEA出错3年前 (2021-06-14)
QSlider进度条的QSS样式6年前 (2018-11-14)
Gitea上传3年前 (2021-06-04)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。