VB中子分类技术的应用

原创 2001年05月26日 14:36:00
VB中子分类技术的应用
http://www.tongyi.net  作者:龙行天下    点击:372  


  子分类技术的原理:要先取得原先Window Procedure所在的地址,将之记录起来,接着设定所有的消息都先转到我们所写的消息处理过程上来,我们过滤传过来的消息,寻找特定的消息进行处理,其余的送回系统,由系统决定如何处理。等到我们不需要再处理这些特定的消息时,便取消消息的截取,即中止子分类过程。它一般需要三个过程:开始截取,消息处理,中止截取. 
  程序需要一个模块,在模块中声明如下: 
  'API函数Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ 
  (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) A s Long Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ 
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _ 
  (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, _ 
  ByVal wParam As Long, ByVal lParam As Long) As Long 
  '定义常数Public Const GWL_WNDPROC = (-4) Public Const WM_MOUSEMOVE = &H200 Public Const WM_RBUTTONDOWN = &H204 
  '全局变量,存放控件标志性数据Public preWinProc As Long 
  '本函数就是用来接收子分类时截取的消息的Public Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, _ 
  ByVal wParam As Long, ByVal lParam As Long) As 
  Long 
  '截取下来的消息存放在msg参数中. 
  if msg=WM_RBUTTONDOWN then 
  '检测到鼠标右击消息,这里就可以加入我们的处理代码如: 
  msgbox "你好,鼠标右击消息!" 
  '需要注意,如果这儿不加入任何代码,则相当于吃掉了这条消息. else 
  '如果我们不是我们需要处理的消息,则将之送回原来的程序. 
  wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam) endif End Function 
  ++++++++++++++++++++++++++++++++++++++++++++++++++++ '以下代码在窗体中: '本例以截取一个combobox控件的消息为例,假设该'控件的名字是:comb1 Private Sub subclass() Dim ret As Long 
  '记录Window Procedure的地址 
  preWinProc = GetWindowLong(comb1.hwnd, GWL_WNDPROC) 
  '开始截取消息,并将消息交给wndproc过程处理. 
  ret = SetWindowLong(comb1.hwnd, GWL_WNDPROC, AddressOf wndproc) End Sub 
  Private Sub EndSubclass() 
  Dim ret As Long 
  '取消消息截取,结束子分类过程. 
  ret = SetWindowLong(comb1.hwnd, GWL_WNDPROC, preWinProc) End Sub 
  '当要截取其它控件的消息时,只需要将subclass与EndSubclass过程中的comb1.h wnd换成该控件的控件.hwnd即可. '调试过程中注意存盘,因为如果一时不慎会造成死机.

室内定位技术:分类、方法与应用综述

【摘要】近年来,面向需求越来越迫切的室内位置服务,室内定位技术发展迅速,是移动互联时代的研究热点,逐步在各行各业发挥作用,给人们的日常生活带来了一定的影响。本文对国内外室内定位技术的研究现状进行了分析...
  • qq160816
  • qq160816
  • 2016年09月02日 16:34
  • 5552

流媒体技术应用分类

1。 视频监控2。网络电视/直播/点播3。IPTV4。VOIP5。移动电视
  • tongshisou
  • tongshisou
  • 2009年03月23日 17:39
  • 101

几种RAID技术比较

RAID(廉价磁盘冗余阵列)技术主要是为了改善磁盘的访问延迟,增强磁盘的可用性和容错能力。目前服务器级别的计算机都支持插入多块磁盘(8块或者更多),通过使用RAID技术,实现数据在多块磁盘上的并发读写...
  • bluejoe2000
  • bluejoe2000
  • 2014年10月26日 09:16
  • 1935

图像检索:几类基于内容的图像分类技术

一共有四种基于内容的图像分类方法,即颜色、纹理、形状和空间关系。 1.基于颜色特征的分类技术 目前,提取颜色特征己经成为几乎所有基于内容图像分类技术的重要手段。由于颜色是物体必备的视觉特性,同一类物体...
  • leixiaohua1020
  • leixiaohua1020
  • 2013年11月20日 19:10
  • 8988

部分类

部分类是.NET Framework 2.0中的一个新特性,可以用于C#和Visual Basic 8.0。这些类可以把一个类放在多个类文件中,以后在编译时再把它们合并为一个类。部分类是ASP.NET...
  • justmuch
  • justmuch
  • 2007年09月12日 16:02
  • 1324

你还记得吗-VB中Sub子过程与函数的调用

在做学生管理系统中,遇到了太多太多的问题,发现了VB的学习是多么的不牢固,即使当初耗费了大量的时间。从现在开始,将把自己遇到的那些模糊或者不懂的知识总结出来,查漏补缺,欢迎大家提出批评指正!    ...
  • wlccomeon
  • wlccomeon
  • 2012年08月22日 22:05
  • 22826

信息隐藏技术综述

信息隐藏技术综述蔡洪亮 李波 卢星 杨明摘要:介绍了信息隐藏技术的概念、模型及分类;给出了信息隐藏技术的五大特征;分析了两种典型的信息隐藏算法:时域替换技术和变换域技术;描述了信息隐藏在现实中主要的应...
  • superdont
  • superdont
  • 2006年11月19日 15:17
  • 7809

Java的技术分类

目前JAVA2有三个版本:J2EE(企业版)、J2SE(标准版)、J2ME(微型版)  1、J2SE(JAVA2 Standart Edition)  JAVA2标准版 支持所有JAVA标准规...
  • wofengjiansunren
  • wofengjiansunren
  • 2014年05月04日 15:09
  • 413

数字图像处理的技术方法和应用

所谓数字图像处理,是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。20 世纪 50 年代,电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息,这便是早期的图像处理。早期图...
  • yangleo1987
  • yangleo1987
  • 2016年11月18日 10:55
  • 2641

软件测试分类-按照测试技术划分

第一种划分:白盒测试、黑盒测试、灰盒测试   白盒测试(结构测试)                 通过对程序内部结构的分析、检测来寻找问题。                 白盒测试可以把程序看...
  • pmbmessenger
  • pmbmessenger
  • 2015年12月13日 17:02
  • 1414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB中子分类技术的应用
举报原因:
原因补充:

(最多只允许输入30个字)