vc6.0下屏蔽edit控件里面的小数点


在VC6.0环境下开发Windows应用程序时,我们经常会用到编辑框(Edit Control)作为用户输入数据的界面元素。在一些特定场景下,比如输入必须是整数时,我们需要屏蔽编辑框内对小数点(.)的输入,以及防止用户通过按下回车键(ENTER)或Esc键触发默认的关闭窗口行为。以下将详细讲解如何实现这些功能。 我们需要了解Windows消息机制。在VC6.0中,编辑框接收并处理来自键盘的输入是通过WM_CHAR消息完成的。当用户按下键盘上的键时,操作系统会发送WM_CHAR消息到编辑框控件,然后由控件处理这个消息。如果我们希望阻止某些键的输入,可以在父窗口类中重写OnChar()函数,来过滤掉特定的字符,如小数点。 下面是一段示例代码,展示如何在OnChar()函数中屏蔽小数点: ```cpp void CYourParentDlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { // 检查是否为小数点,如果是则忽略此消息 if (nChar == '.') return; // 调用基类的OnChar函数,处理其他非屏蔽字符 CDialog::OnChar(nChar, nRepCnt, nFlags); } ``` 对于回车键(ENTER)和Esc键,它们分别对应的虚拟键码是VK_RETURN和VK_ESCAPE。我们可以重写OnKeyDown()或OnKeyUp()函数来拦截这两个键的响应。例如,要阻止回车键关闭窗口,可以这样做: ```cpp void CYourParentDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // 检查是否为回车键,如果是则不执行默认操作 if (nChar == VK_RETURN) return; // 调用基类的OnKeyDown函数,处理其他非屏蔽键 CDialog::OnKeyDown(nChar, nRepCnt, nFlags); } ``` 同样,阻止Esc键关闭窗口可以通过重写OnCancel()函数,或者在OnKeyDown()中处理VK_ESCAPE键: ```cpp void CYourParentDlg::OnCancel() { // 不执行默认的关闭窗口操作,你可以在这里添加自己的处理逻辑 } void CYourParentDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { // 检查是否为Esc键,如果是则不执行默认操作 if (nChar == VK_ESCAPE) return; // 调用基类的OnKeyDown函数,处理其他非屏蔽键 CDialog::OnKeyDown(nChar, nRepCnt, nFlags); } ``` 以上代码示例都是在对话框类(CDialog派生类)中进行的,如果你的编辑框是在其他类型的窗口中,可能需要根据实际的窗口类进行相应的调整。记住,重写消息处理函数后,原有的默认行为将不再执行,所以你需要在新的处理函数中手动调用基类的相应函数来处理未被屏蔽的其他键。 在实际应用中,你可能还需要考虑其他方面,比如用户可能通过复制粘贴的方式输入包含小数点的字符串,此时你需要在OnCut(), OnPaste()等剪贴板相关的消息处理函数中加入相应的检查和处理。另外,对于输入验证,还可以考虑使用控件的自定义消息,或者使用通用的输入验证库,以提高代码的可复用性和健壮性。 通过捕获和处理Windows消息,我们可以有效地控制编辑框的输入行为,从而满足应用程序的特定需求。在这个例子中,我们成功地实现了在VC6.0环境下屏蔽Edit控件内的小数点输入,以及阻止回车和Esc键的默认操作。



























































- 1



- 粉丝: 119
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 医学院校计算机专业课程体系构建的探索与实践.docx
- 开题报告项目管理系统设计.pdf
- 最新最专业的企业网站推广方案.doc
- 计算机网络课程设计说明书兰州市第九中学校园网组建方案.doc
- 网络销售实习报告1000字.docx
- 国际项目管理专业资质认证IPMP试题概论.doc
- 工业互联网体系架构.doc
- 海赋国际网络营销方案.pptx
- 组合投资风险与收益与其MATLAB实现.doc
- GOSP-硬件开发资源
- 嵌入式系统期末考试试卷.doc
- 软件学院软件工程领域代码.doc
- 基于Android手机蓝牙控制的智能小车设计.doc
- 电子商务公司的口号.doc
- 网络营销战略计划.pptx
- 三菱FX2N系列PLC.ppt


