• VC++6.0/MFC 自定义edit 限制输入内容 响应复制粘贴全选剪切的功能


    Ctrl组合键ASCII码      

    ^Z代表Ctrl+z                     
    ASCII值 控制字符  ASCII值 控制字符  ASCII值 控制字符  ASCII值 控制字符
    0(00)        NULL       8(08)        ^H         16(10)    ^P             24(18)    ^X
    1(01)         ^A           9(09)        ^I            17(11)    ^Q           25(19)    ^Y
    2(02)         ^B          10(0A)       ^J           18(12)    ^R           26(1A)    ^Z
    3(03)        ^C           11(0B)       ^K           19(13)    ^S           27(1B)    ^[
    4(04)        ^D           12(0C)       ^L           20(14)    ^T           28(1C)    ^
    5(05)        ^E           13(0D)       ^M          21(15)    ^U            29(1D)    ^]
    6(06)        ^F           14(0E)       ^N          22(16)    ^V             30(1E)    ^^
    7(07)        ^G           15(0F)       ^O          23(17)    ^W             31(1F)    ^_

    限制输入内容 :

    响应消息OnChar

    void CEnglishEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
    {
        // TODO:  在此添加消息处理程序代码和/或调用默认值
        if ((nChar >= 43 && nChar <= 57) ||       //+,-./ 0~9
            (nChar >=65 && nChar <= 90) ||        //A~Z
            (nChar >=97 && nChar <= 122) ||       //a~z
            nChar == 59 || nChar == 92 ||       //";"
            nChar == 32 || nChar == 8  ||       //" SP"
            nChar == 01 || nChar == 03 ||       //ctrl + a c
            nChar == 24 || nChar == 22          //ctrl + x v
    
            )
        {
            CEdit::OnChar(nChar, nRepCnt, nFlags);
        }
        else
        {
            return;
        }
    }

    代码中红色部分是实现 复制粘贴全选剪切的功能;

    进过实践发现重写 PreTranslateMessage()  不能实现复制粘贴剪切的功能,可以实现全选功能,根据最上边Ctrl组合键ASCII码 来添加自己需要的功能.

    如果问题解决起来不妥或者有更好的解决办法,麻烦请告知,帮助曾经和你一样的入门者,谢谢。
  • 相关阅读:
    vue系列教程:插值
    docker load 镜像时出现:open /var/lib/docker/tmp/docker-import-500852078/repositories: no such file or dir
    Day 18: 记filebeat内存泄漏问题分析及调优
    Filebeat 启动关闭流程
    docker加速
    Docker镜像保存save、加载load(外网转移至内网)
    filebeat.yml(中文配置详解)
    kafka介绍
    基于统一开发平台的微服务架构转型升级之路 | 某国有大型银行案例
    转 -Filebeat + Redis 管理 LOG日志实践
  • 原文地址:https://www.cnblogs.com/ourran/p/5301040.html
Copyright © 2020-2023  润新知