关于某些WIN32 API 函数的应用!!!!

zhou 2000-08-15 08:50:00
请问各位大虾,WIN32 API 函数AnimateWindow如何用法,小弟在《新编WINDOWS API参考手册》中见到此函数,但几次使用都未能实现并且WINDOWS也未报错,不知该函数应如何使用????
还有,那位大虾知道SHELL32.DLL中的函数应如何使用(尤其是那些在各手册中都查不到的函数)请不吝赐教,定当高分奉送!!!!!
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxj_lake 2001-02-23
  • 打赏
  • 举报
回复
另外zhou可以看看范例:Shell32.dll中几个未归档的函数
http://210.75.132.33/lakes/detail.asp?id=278
wxj_lake 2001-02-23
  • 打赏
  • 举报
回复
呵呵,我写的注释。^_^
NowCan 2001-02-23
  • 打赏
  • 举报
回复
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Long

Const AW_HOR_POSITIVE = &H1 '从左到右
Const AW_HOR_NEGATIVE = &H2 '从右到左
Const AW_VER_POSITIVE = &H4 '从上到下
Const AW_VER_NEGATIVE = &H8 '从下到上
Const AW_CENTER = &H10 '从中间开始
Const AW_HIDE = &H10000 '卸载时使用
Const AW_ACTIVATE = &H20000 '打开时使用
Const AW_SLIDE = &H40000 '与前四种组合拉出样式
Const AW_BLEND = &H80000 '淡入淡出

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
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 Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const LWA_COLORKEY = &H1

Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const HT_CAPTION = 2
Private Const WM_NCLBUTTONDOWN = &HA1

Private Sub Form_DblClick()
Unload Me
End Sub

Private Sub Form_Load()
AnimateWindow hwnd, 2000, AW_BLEND + AW_ACTIVATE
Dim rtn As Long
rtn = GetWindowLong(hwnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hwnd, GWL_EXSTYLE, rtn
'SetLayeredWindowAttributes hwnd, &H0, 0, LWA_COLORKEY '这样调用可以设置透明色,做不规则形状窗体
SetLayeredWindowAttributes hwnd, 0, 100, LWA_ALPHA '半透明窗体
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'这两句移动窗体
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HT_CAPTION, 0&
End Sub

Private Sub Form_Unload(Cancel As Integer)
AnimateWindow hwnd, 3000, AW_CENTER + AW_SLIDE + AW_HIDE
Set Form1 = Nothing
End Sub
y1g1y1 2001-02-23
  • 打赏
  • 举报
回复


http://www.csdn.net/expert/TopicView.asp?id=74205

http://www.csdn.net/cnshare/soft/soft5806.shtm

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧