s77m72 发表于 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=$Pic1 Then
                GUICtrlSetImage($Pic1,"2.jpg")
        Else
                GUICtrlSetImage($Pic1,"1.jpg")
        endif

        $nMsg = GUIGetMsg(1)
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Pic1
                        MsgBox(0,0,"你点了图形按钮")
        EndSwitch
WEnd

TheBelief 发表于 2009-6-30 11:24:45

你在论坛的搜索里找一下   看过好几个这方面的

menfan1 发表于 2009-11-8 08:41:36

呵呵,可以实现。。

a2817288 发表于 2009-11-29 18:49:08

2楼的代码测试了下,切换到其他程序会自动退出,不知何解

a2817288 发表于 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=$Pic1 Then
                GUICtrlSetImage($Pic1,"2.jpg")
      Else
                GUICtrlSetImage($Pic1,"1.jpg")
      endif

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

pcbar 发表于 2009-11-29 19:42:54

http://www.autoitx.com/forum.php?mod=viewthread&tid=5553
看看这个对你有否帮助

那片叶子 发表于 2009-11-29 19:48:22

关注中,用来做GUI界面再好不过了

afan 发表于 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 = $Pic1 And $bj = 1 Then
                        GUICtrlSetImage($Pic1, "2.jpg")
                        $bj = 0
                ElseIf $ID <> $Pic1 And $bj = 0 Then
                        GUICtrlSetImage($Pic1, "1.jpg")
                        $bj = 1
                EndIf
        EndIf
        $nMsg = GUIGetMsg(1)
        Switch $nMsg
                Case -3
                        Exit
                Case $Pic1
                        MsgBox(0, 0, "你点了图形按钮")
        EndSwitch
WEnd

a2817288 发表于 2009-11-30 18:38:09

感谢AFAN的指点,已经解决了

itljl 发表于 2009-12-2 00:11:17

收藏。谢谢。

chenronting 发表于 2009-12-3 15:54:30

感谢。。 这个方法。 很强大:face (36):

zhenglei 发表于 2009-12-4 10:27:06

很好的东西啊。。 哈哈

jevonleen 发表于 2010-9-8 22:37:44

踩踩收藏先

mo_shaojie 发表于 2010-12-2 22:37:15

很不错的东东,又收下了.又是学到东西了.呵呵
页: [1] 2
查看完整版本: 在鼠标悬停的时候显示另外一个图片的疑问