- 浏览: 167499 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xiangyufangai:
很好很强大膜拜中哈哈!!
VB 两个字符串处理函数(类似Left/Mid/Right/Split的结合) -
hellohank:
这个……叫摘要算法,不叫加密算法~
Java实现的加密工具类(支持MD5和SHA) -
NIUCH1029291561:
接口有问题奥
网银在线支付接口和应用 -
yeuego:
能幫你就行了
MySQL索引分析 -
ForgiDaved:
很给力的介绍。记得前段时间给一个系统加功能,设计的表没有 ...
MySQL索引分析
'任务栏高度[此部分相关代码转载自 枕善居]
Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_GETWORKAREA = 48
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
'透明
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const WS_EX_LAYERED = &H80000
Const GWL_EXSTYLE = (-20)
Const LWA_ALPHA = &H2
Const LWA_COLORKEY = &H1
'延迟
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'最前
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_BOTTOM = 1
Private Const HWND_BROADCAST = &HFFFF&
Private Const HWND_DESKTOP = 0
Private Const HWND_NOTOPMOST = -2
Private Const HWND_TOP = 0
Private Const HWND_TOPMOST = -1
'可见区域
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Dim MyRect As Long
Dim MyRgn As Long
Dim X1 As Integer, Y1 As Integer
Dim X2 As Integer, Y2 As Integer
Dim OpenSpeed As Integer
Dim CloseSpeed As Integer
Dim WiteLong As Integer
Private Sub Form_Load()
'------------------------------------------------------------------
OpenSpeed = 10 '出现时速度
CloseSpeed = 10 '关闭时淡出的速度
Timer1.Interval = 10 '出现时显示平滑度
WiteLong = 30 '关闭前等待时间(秒),为0则不会自动关闭
'------------------------------------------------------------------
'计算任务栏高
Dim lRes As Long
Dim rectVal As RECT
Dim TaskbarHeight As Integer
lRes = SystemParametersInfo(SPI_GETWORKAREA, 0, rectVal, 0)
TaskbarHeight = Screen.Height - rectVal.Bottom * Screen.TwipsPerPixelY
'确定位置
Me.Move Screen.Width * 0.75, Screen.Height * 0.75 - TaskbarHeight, _
Screen.Width \ 4, Screen.Height \ 4
'永在最前
SetWindowPos Me.hWnd, HWND_TOPMOST, Me.Left \ Screen.TwipsPerPixelX, Me.Top \ Screen.TwipsPerPixelY, Me.Width, Me.Height, 1
'为遮蔽窗体计算坐标
X1 = 0
Y1 = Me.Width \ Screen.TwipsPerPixelX
X2 = Me.Width \ Screen.TwipsPerPixelX
Y2 = Me.Height \ Screen.TwipsPerPixelY - 1
'遮蔽部分窗体为不可见
MyRect = CreateRectRgn(X1, Y1, X2, Y2)
MyRgn = SetWindowRgn(Me.hWnd, MyRect, True)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call CloseMe(1) '以什么样的方式关闭自己,有 1-淡出 和 2-收缩 可选
Call DeleteObject(MyRect)
End Sub
Private Sub Timer1_Timer()
Y2 = Y2 - OpenSpeed
If Y2 <= 0 Then
MyRect = CreateRectRgn(0, 0, Me.Width \ Screen.TwipsPerPixelX, Y2)
MyRgn = SetWindowRgn(Me.hWnd, MyRect, True)
Timer1.Enabled = False
'----------------------
If WiteLong <> 0 Then
Timer2.Interval = 1000
Timer2.Enabled = True
End If
End If
MyRect = CreateRectRgn(X1, Y1, X2, Y2)
MyRgn = SetWindowRgn(Me.hWnd, MyRect, True)
End Sub
Private Sub Timer2_Timer()
Static NL As Integer
NL = NL + 1
If NL >= WiteLong Then Unload Me
End Sub
'==============================================
'0 - 不使用卸载效果
'1 - 使用透明淡出效果
'2 - 使用收缩效果
'==============================================
Private Sub CloseMe(Optional N As Integer = 1)
Select Case N
Case 0
Exit Sub
Case 1
Dim rtn As Long
rtn = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong Me.hWnd, GWL_EXSTYLE, rtn
For I = 255 To 10 Step -10
SetLayeredWindowAttributes Me.hWnd, 0, I, LWA_ALPHA
DoEvents
Sleep CloseSpeed
Next I
Case 2
While Y2 < (Me.Height / Screen.TwipsPerPixelY)
Y2 = Y2 + OpenSpeed
MyRect = CreateRectRgn(X1, Y1, X2, Y2)
MyRgn = SetWindowRgn(Me.hWnd, MyRect, True)
Sleep OpenSpeed
Wend
Case Else
End Select
End Sub
发表评论
-
vb 启动外部程序并且模拟鼠标点击
2011-03-09 13:28 1077Imports System.Runtime.InteropS ... -
VB 列出SQL数据库中所有表及字段信息
2011-03-09 13:24 1100程序思想:用Select name From sysobje ... -
VB 纯代码实现Timer控件的功能
2011-03-09 13:23 1243本博客有一篇类似的文章《VB 中运用 TimeSetEvent ... -
VB 控制音量
2011-03-09 13:22 1192'按钮一是音量增加,按钮二是音量减少,按钮三是静音切换. ... -
拦截 VB TextBox 双击消息
2011-03-09 13:22 920我们都知道在VB中TextBox默认是没有双击消息过程的(也就 ... -
VB 获取/设置屏幕分辨率
2011-03-09 13:21 1061Option ExplicitPrivate Decla ... -
VB 将数据快速导入EXCEL
2011-03-09 13:21 989Public Function ToExcel()On ... -
VB 建立快捷方式
2011-03-09 13:20 758Private Declare Function fCr ... -
VB 获取快捷方式原文件路径
2011-03-09 13:20 891'此方法不需要引用IShellLink.Private ... -
VB 的一组字符串转换函数
2011-03-09 13:20 751Public Function chrConvert(s ... -
VB 在浏览目录时指定初始目录
2011-03-09 13:19 970'VB也可以使用CallBack,下面是一个例子: '先 ... -
VB 获得鼠标滚轮的事件
2011-03-09 13:18 943'窗体代码Private Sub Form_Load() ... -
VB 比较两组字符串
2011-03-09 13:18 1234【方法一】 StrComp(string1, Stri ... -
VB 用API下载文件实例
2011-03-09 13:17 769'########################### ... -
VB 窗口处理技巧大全
2011-03-09 13:17 753VB提供了API函数SetWindowLong和GetWind ... -
VB Filter 函数用法
2011-03-09 13:16 1893例子1:Dim aa(10) As StringDim bbD ... -
VB 在EXPLORER进程崩溃之后重建托盘图标
2011-03-09 13:15 817重点为:向系统注册“TaskbarCreated”消息 ... -
Shell 调用程序后等待该程序结束后返回继续
2011-03-09 13:15 1188方法1: Private Declare Functi ... -
VB 最简单的WAV声音或音乐文件播放的代码
2011-03-09 13:14 1335'最简单的WAV声音或音乐文件播放的代码'API声明Pr ... -
VB 实现保存 Direct3D 游戏截图
2011-03-09 13:13 1467Written By Microsoft MVP: Eric ...
相关推荐
VB仿QQ屏幕右下角弹消息窗口,停留30秒后自动淡出!
VB弹出右下角窗口的例子,是一个模仿以前MSN风格的VB 弹出式气泡提示,弹出后显示在屏幕的右下角窗口,可自定义右下角的气泡提示的样式、文字等,右下角窗口渐变色显示,设置窗口功能很多,不一一介绍了,截图只是...
VB 窗口淡入淡出效果示例 VB 窗口淡入淡出效果示例
vb托盘气球提示 右下角有提示框框 vb程序, 源代码
C# WinForm 消息提示功能,类似QQ的消息提醒样式,可定时关闭,消息框弹出从下往上,关闭从上往下,有动画效果。当用户鼠标停放在提示框上时,自动关闭功能停止 ,当移走鼠标时,重新开始自动关闭功能 。有C#源码;...
vb.net 窗口淡入淡出效果
用VB实现屏幕右下角的托盘图标,一个显示托盘的气泡提示程序源码,鼠标放在托盘的图标上,会弹出像Windows XP系统中的托盘提示,一个很漂亮的气泡文字,鼠标移走后会自动消失,在各大VB开发的应用程序中,似乎你都...
VB淡入淡出窗口动画的效果实现,可以使用定义的其他常量显示不同的动画效果.打开后透明度由99变成0,也就是由透明变成不透明,整体串起来的动画效果就淡入淡出,一个简单实现的VB动画窗口。
ASP.NET版 仿QQ MSN 右下角 弹出窗口 提示小窗口 控件仿MSN右下角的弹出窗口控件,实际上不仅仅局限于右下角,网页的其它地方都可以用,这是Asp.net修正版。 源代码中包括C#、VB.net两种代码的示例,以及控件源...
这个程序实现.net中form窗口的淡入淡出效果,实现语言是C#,在窗口弹出/打开和关闭的时候,就会实现这种淡入淡出的效果。另外,如果,最小化、恢复,或者失去焦点、得到焦点的时候,都会以半透明等方式出现。
vb代码---仿MSN右下角弹出窗口(文件带dll)
VB 精仿QQ右下角弹出新闻功能 用VB语言编写的QQ右下角弹出新闻功能,程序会自动检测QQ是否允许弹出,如果不允许则本程序不会弹出!可远程更改QQ新闻的内容,有延迟效果,程序显示一定时间将自动退出。 尚需完美的...
本程序由VB编写,主要是用VB实现在把程序最小化到右下角托盘中。
VB实现透明窗口边框
VB窗口淡入效果的一个公共类,使用API实现,同理可以反向实现淡出效果
VB托盘提示控件 用法实例,显示在右下角的浮动提示窗口,可对提示窗口的时间进行设置,计时结束后自动关闭该提示窗口,可自定义提示窗口的标题和提示内容,退出时以动画方式向下滑出提示窗口,显示时向上滑出,同时...
半透明窗口 vb vb vb 半透明窗口 vb vb vb
VB显示右下角滑出窗口, 本程序代码内已进行相关标识,以便学者学习。 本程序利用了窗口设置位置的方法,制作模拟QQ消息的提示 ...
如何实现淡入淡出效果Visual Basic6.0程序,VB6.0源代码
vb仿qq的右下角信息提示框源码 vb提示框