码迷,mamicode.com
首页 > 编程语言 > 详细

猎豹MFC--拦截消息SetWindowsLong CallWindowsProc控件不能满足我们的需求时 增加修改这些功能

时间:2016-03-20 19:25:14      阅读:705      评论:0      收藏:0      [点我收藏+]

标签:

修改现有控件的功能->子类化技术
只能输入字符 而不能输入别的类型----------------拦截消息
两个函数SetwindowsLong()
CallWindowsProc()
  下面的  小控件都是 一个小窗口
技术分享
是窗口就有自己的窗口过程,可以给其一个新的额窗口过程把原来的窗口过程替换掉,用新窗口过程处理他的消息 ,即把原来的消息拦截下来,用新的窗口过程来处理

修改ID后添加C++的类:
技术分享
技术分享

在新类中声明函数
技术分享

在主文件中包含新类的头文件 和声明全局变量:
技术分享
在初始化对话框中 把新窗口(即文本框)句柄和类关联起来:
技术分享
定义新的变量和声明窗口过程:格式为windows要求
技术分享
技术分享
实现新Attach函数:
技术分享
定义新窗口过程属性 常量:
技术分享

技术分享
新的窗口过程转去调用旧的窗口过程:
技术分享
下面是拦截消息:
技术分享
技术分享
增加  删除消息:
技术分享
增加新声明的一个函数:
技术分享实现该函数:
技术分享
小数点处理:
技术分享
负号处理:
技术分享

增加健壮性 如果没有转去调用默认的窗口过程“:
技术分享
只能输入数组 负号 小数点  其他的均不能输入:
双击 读取按钮:
技术分享
增加一个成员函数:
技术分享
实现该函数:
技术分享
因为出错了  所以  修改函数为如下:
技术分享
在 按钮双击后的处理函数中  如下”:
技术分享
增加取消函数声明:
技术分享
把文本框的窗口过程 换成旧的窗口过程
技术分享
在析构中调用:
技术分享
法二  在对话框销毁时调用:“
技术分享

技术分享





猎豹MFC--拦截消息SetWindowsLong CallWindowsProc控件不能满足我们的需求时 增加修改这些功能

标签:

原文地址:http://www.cnblogs.com/hungryvampire/p/5299060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!