ios下载 什么是窗口子类化?
浏览量:2832
时间:2021-03-22 05:16:28
作者:admin
什么是窗口子类化?
如果你曾经在Windows环境下编程,有时你会发现有一个现成的窗口,它几乎拥有你所需要的所有功能,但它并不完全相同。如果您需要一个具有过滤特殊字符功能的编辑控件。当然,最直接的方法是用代码实现它,但这是一项耗时且困难的任务,子类化可以用来完成这类任务。子类化允许您接管子类化窗口,使您可以对其进行绝对控制。例如,您需要一个只接受十六进制数字输入的文本编辑框。如果您使用一个简单的编辑控件,当用户输入十六进制以外的字符时,您不知道也不能做任何事情。也就是说,当用户在文本框中输入一个字符串时
现在让我们来解释一下实现的细节:当用户在文本框中输入一个字符时,windows会向编辑控件的window函数发送WMuchar消息。这个窗口函数本身是寄生在windows中的,因此不能直接修改。但我们可以将此消息重定向到我们自己的窗口处理程序。如果自定义窗口要处理此消息,它可以处理它。如果没有,它可以将此消息转发到其原始窗口处理函数。这样,自定义窗口处理程序将自己插入windows系统和编辑控件之间。
有关说明,请参阅以下过程:
窗口子类化之前
windows==编辑控件的窗口处理函数。
子类化后
windows==自定义窗口处理程序==编辑控件的窗口处理程序。
,然后windows将消息发送到自定义窗口函数!我们调用函数SetWindowLong来完成这个任务。这个函数的原型是:
SetWindowLong协议:DWORD, 索引:DWORD, 德沃德:德沃德
HWnd=子类窗口的句柄nIndex=函数索引
GWLuuuxstyle设置窗口的扩展风
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。