VB中设计一个按钮效果

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:34:38
现有一个form1,里面有各类控件,包括图片,动画,电影,和文本介绍。他们是同时出现在此form1窗体上,现要求在他们最上层增加一个层,并让此层为透明(作用:能看到下层的图片,动画等;但点击时不能点到下面的图片或动画等控件,只能点到刚刚增加的那一个层上面),要如何设计这个层。PS:我试了lable虽然能透明但不能到在窗体form1的最上层。
form1是中层控件,所以用“移至顶层”这个方法不能奏效,如果有第三方控件,那在哪里有这个控件呢?叫什么名字?我用的是VB6
现在了解下来,基本上只能在form1中加入hook钩子,那要怎么实现对于窗体form1中,屏蔽右键(吃掉消息);并且左键激活链接的作用。是不是只要得到form1的句柄就可以了? 最好有代码。继续再加20分

是的,VB6只能用Hook办法解决上述问题。
一、建立一个模块,复制下面代码:
Option Explicit

Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lParam As Any) As Long

Public Const WH_MOUSE_LL = 14
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Private Declare Function GetForegroundWindow L