找回密码
 加入
搜索
查看: 4421|回复: 8

[AU3基础] 我仿酷狗魔方模式的一个特效~!求助[已解决]

  [复制链接]
发表于 2012-1-14 00:26:07 | 显示全部楼层 |阅读模式
本帖最后由 xx44t10 于 2012-1-15 17:54 编辑
#include <Winapi.au3>
#include <GUIConstantsEx.au3>
Global Const $WM_MOUSEMOVE = 0x0200 ;鼠标移动
Global Const $WM_MOUSEHOVER = 0x02A1 ;鼠标停留
Global Const $WM_MOUSELEAVE = 0x02A3 ;鼠标离开
Global Const $TME_HOVER = 0x00000001
Global Const $TME_LEAVE = 0x00000002
Global Const $WS_SYSMENU = 0x00080000
Global Const $WS_POPUP = 0x80000000
Global Const $SC_MOVE = 0xF010

$Form1 = GUICreate("Form1", 82, 82, 261,186,BitOR($WS_SYSMENU,$WS_POPUP))
$For1 = GUICtrlCreatePic("方块.bmp",0, 0,82, 82,$WS_SYSMENU)
GUISetState()
$Form2 = GUICreate('无边框', 205, 215, 192, 124, BitOR($WS_SYSMENU, $WS_POPUP))
$Label1 = GUICtrlCreateLabel(" ", 10, 10, 210, 210, -1, $GUI_WS_EX_PARENTDRAG)
GUICtrlSetTip(-1, "点击此处可拖动窗口。")                
$Pic1 = GUICtrlCreatePic("方块.bmp",59, 62,82, 82)

GUIRegisterMsg($WM_MOUSEMOVE, "WM_MOUSEMOVE")
GUIRegisterMsg($WM_MOUSEHOVER, "WM_MOUSEHOVER")
GUIRegisterMsg($WM_MOUSELEAVE, "WM_MOUSELEAVE")

While GUIGetMsg() <> -3
WEnd    
 
Func WM_MOUSEMOVE($hWnd, $Msg, $wParam, $lParam)
        $tagTRACKMOUSEEVENT = DllStructCreate("DWORD cbSize;DWORD dwFlags;HWND  hwndTrack;DWORD dwHoverTime")
        DllStructSetData($tagTRACKMOUSEEVENT, "cbSize", DllStructGetSize($tagTRACKMOUSEEVENT)) ;结构体缓冲区大小
        DllStructSetData($tagTRACKMOUSEEVENT, "dwFlags", BitOR($TME_HOVER,$TME_LEAVE)) ;注册WM_MOUSEHOVER和$WM_MOUSELEAVE消息
        DllStructSetData($tagTRACKMOUSEEVENT, "hwndTrack", $hWnd) ;当前窗口句柄
        DllStructSetData($tagTRACKMOUSEEVENT, "dwHoverTime", 300) ;触发的时间300ms
        $TRACKMOUSEEVENT = DllStructGetPtr($tagTRACKMOUSEEVENT)
        DllCall("user32.dll", "bool", "TrackMouseEvent","ptr",$TRACKMOUSEEVENT)
EndFunc   ;==>WM_MOUSEMOVE

Func WM_MOUSEHOVER($hWnd, $Msg)
        GUISetState ( @SW_HIDE, $Form1)
        DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form2, "int", 2000, "long", 0x00080000);淡入2秒
        GUISetState ( @SW_SHOW, $Form2)
EndFunc   ;==>WM_MOUSEHOVER

Func WM_MOUSELEAVE($Form2, $Msg, $wParam, $lParam)
        TrayTip("提示","鼠标移出Form2了!",1,1)
EndFunc
Func WM_MOUSELEAVE($Form2, $Msg, $wParam, $lParam)
        TrayTip("提示","鼠标移出Form2了!",1,1)
EndFunc
这段代码怎么才能 子窗口2 中怎么也添加与主窗口同样的鼠标移出
事件再调出主窗口,隐藏子窗口
呵呵这个特效算做一半吧.还没完全成品
发表于 2012-1-14 07:30:28 | 显示全部楼层
GUICreate ( "标题" [, 宽度 [, 高度 [, 左侧 [, 顶部 [, 样式 [, 扩展样式 [, 父窗]]]]]]] )

不知是否这里出错,研究了会 不懂
发表于 2012-1-14 13:32:16 | 显示全部楼层
不知道要做成什么效果,也没有图片文件。
 楼主| 发表于 2012-1-14 15:09:19 | 显示全部楼层
用到的图片是:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-1-14 15:13:50 | 显示全部楼层
没有看到魔方的效果图
发表于 2012-1-14 16:56:01 | 显示全部楼层
效果的确是不错,呵呵,很好呢。
发表于 2012-1-14 23:22:32 | 显示全部楼层
注释掉16、17行,消息被Label“挡”了
 楼主| 发表于 2012-1-15 17:54:10 | 显示全部楼层
回复 7# afan


    谢谢!
发表于 2012-1-18 09:40:28 | 显示全部楼层
没看懂什么!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 23:25 , Processed in 0.086565 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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