找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 1672|回复: 1

【VFB】子类化(VFB教程4-6)

[复制链接]

51

主题

31

回帖

648

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
506 个
贡献
1 次
宅之契约
0 份
在线时间
23 小时
注册时间
2017-12-26
发表于 2018-2-27 11:12:49 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×

此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。

在VB6里,很多高阶应用,就用到子类化,在VFB的世界里,子类化几乎不需要

因为所有的消息都自己操控,就和VB6子类化一样,VB6是为了和VB6抢要控制权

才去子类化,而VFB的控制权都在自己手里。

  1. Function FORM1_CUSTOM ( _[/p]                      hWndForm      As HWnd, _      ' 窗体句柄
  2.                       wMsg          As UInteger,  _  ' 消息类型
  3.                       wParam        As wParam, _    ' 第一个消息参数
  4.                       lParam        As lParam   _   ' 第二个消息参数
  5.                       ) As Long
  6.                      
  7. 每个窗口和控件都有自定义事件,这就是VB6里的子类化

  8.    Function = 0   ' 根据你的需要改变
  9. End Function
复制代码

还有,VFB给你提供了更强的控制权

1519027182527400.jpg

所有的窗口和消息(指你自己写的软件),全部经过在这里,可以由你任意控制

有时候,我就是要用子类化,那么也简单,用VB6的方法即可

下面我要说的是,32位和64位通用子类化(VB6只能用在32位软件)

  1. GetWindowLongPtr(HWND, GWLP_WNDPROC)  获取子类地址[/p]SetWindowLongPtr(HWND, GWLP_WNDPROC,新地址)
复制代码

以上2个函数是随着64位系统出来而出的,现在写,你必须用这个。



回复

使用道具 举报

1

主题

159

回帖

630

积分

用户组: 大·技术宅

UID
7535
精华
0
威望
0 点
宅币
470 个
贡献
0 次
宅之契约
0 份
在线时间
71 小时
注册时间
2021-10-16
发表于 2022-5-17 09:34:09 | 显示全部楼层

珍惜生命,果断回帖。
回复 赞! 靠!

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-26 15:33 , Processed in 0.036638 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表