找回密码
 加入
搜索
查看: 4873|回复: 16

在鼠标悬停的时候显示另外一个图片的疑问

 火.. [复制链接]
发表于 2009-6-29 11:14:40 | 显示全部楼层

在GUI里面做个图片按钮,如何在鼠标悬停的时候显示另外一个图片?

在GUI里面做个图片按钮,如何在鼠标悬停的时候显示另外一个图片?
发表于 2009-6-29 19:52:03 | 显示全部楼层
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 192, 124)
$Pic1 = GUICtrlCreatePic("", 64, 104, 281, 89, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetImage(-1,"1.jpg")
$dd=1
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $ID=GUIGetCursorInfo()
        if $ID[4]=$Pic1 Then
                GUICtrlSetImage($Pic1,"2.jpg")
        Else
                GUICtrlSetImage($Pic1,"1.jpg")
        endif

        $nMsg = GUIGetMsg(1)
        Switch $nMsg[0]
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Pic1
                        MsgBox(0,0,"你点了图形按钮")
        EndSwitch
WEnd
发表于 2009-6-30 11:24:45 | 显示全部楼层
你在论坛的搜索里找一下   看过好几个这方面的
发表于 2009-11-8 08:41:36 | 显示全部楼层
呵呵,可以实现。。
 楼主| 发表于 2009-11-29 18:49:08 | 显示全部楼层
2楼的代码测试了下,切换到其他程序会自动退出,不知何解
 楼主| 发表于 2009-11-29 19:37:01 | 显示全部楼层 |阅读模式
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 192, 124)
$Pic1 = GUICtrlCreatePic("", 64, 104, 281, 89, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetImage(-1,"1.jpg")
$dd=1
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $ID=GUIGetCursorInfo()
        if $ID[4]=$Pic1 Then
                GUICtrlSetImage($Pic1,"2.jpg")
        Else
                GUICtrlSetImage($Pic1,"1.jpg")
        endif

        $nMsg = GUIGetMsg(1)
        Switch $nMsg[0]
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Pic1
                        MsgBox(0,0,"你点了图形按钮")
        EndSwitch
WEnd
这段是顽固不化给出的代码,测试了一下,切换程序和最小化都会自动退出的,本人菜不知何解
请高手们解释下

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2009-11-29 19:42:54 | 显示全部楼层
发表于 2009-11-29 19:48:22 | 显示全部楼层
关注中,用来做GUI界面再好不过了
发表于 2009-11-29 20:35:45 | 显示全部楼层
需要改一下吧,不然就算没出错也会比较高的CPU占用
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 600, 400)
$Pic1 = GUICtrlCreatePic("1.jpg", 64, 104, 281, 89)
$bj = 1
GUISetState()
While 1
        $ID = GUIGetCursorInfo()
        If Not @error Then
                If $ID[4] = $Pic1 And $bj = 1 Then
                        GUICtrlSetImage($Pic1, "2.jpg")
                        $bj = 0
                ElseIf $ID[4] <> $Pic1 And $bj = 0 Then
                        GUICtrlSetImage($Pic1, "1.jpg")
                        $bj = 1
                EndIf
        EndIf
        $nMsg = GUIGetMsg(1)
        Switch $nMsg[0]
                Case -3
                        Exit
                Case $Pic1
                        MsgBox(0, 0, "你点了图形按钮")
        EndSwitch
WEnd

评分

参与人数 1金钱 +10 收起 理由
nmgwddj + 10 遇见问题来搜索,又见A版神思维

查看全部评分

 楼主| 发表于 2009-11-30 18:38:09 | 显示全部楼层
感谢AFAN的指点,已经解决了
发表于 2009-12-2 00:11:17 | 显示全部楼层
收藏。谢谢。
发表于 2009-12-3 15:54:30 | 显示全部楼层
感谢。。 这个方法。 很强大
发表于 2009-12-4 10:27:06 | 显示全部楼层
很好的东西啊。。 哈哈
发表于 2010-9-8 22:37:44 | 显示全部楼层
踩踩收藏先
发表于 2010-12-2 22:37:15 | 显示全部楼层
很不错的东东,又收下了.又是学到东西了.呵呵
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-20 21:21 , Processed in 0.083124 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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