windows核心编程<读书笔记一>---重写Onchar函数

本文介绍了如何在MFC中通过子类化CEdit控件,实现只允许输入数字和Delete键的功能。创建了一个新的CEdit_NUMONLY类,并重写了OnChar函数,对非法字符进行过滤,同时在输入回车时调用FormatMessage获取错误码描述。
摘要由CSDN通过智能技术生成

【文起】:蟹儿的爱是我坚持的动力,为了你和我们的幸福奋斗


第一章中,书上有一个程序用例,在一个Edit中输入错误码ID,另一个Edit中显示错误码描述。自己写完发现错误码ID能输入所有的字符,这显然是不对的,就想到了去限制只能输入数字和delete。

       MFC中可以通过设置Eidt属性为NUM解决。但是我想到如果要求可以输入小数点或者负号呢?在网上搜了下,看到了MFC子类化。这儿只说如何实现,不深究原理。

一:

     新增一个MFC类,CEdit_NUMONLY,继承之CEdit。给类CEdit_NUMONLY添加WM_CHAR消息处理,于是有了函数

void CEdit_NUMONLY::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)

二:

在用到需要限制对话框的类中,添加 CEdit_NUMONLY m_editNumOnly; 然后在初始化对话框时,调用子类化函数。

即在函数

<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值