找回密码
 加入
搜索
查看: 2573|回复: 10

[GUI管理] 滑鼠指向控件 便 出現 提示訊息 該如何?

  [复制链接]
发表于 2012-8-22 17:00:40 | 显示全部楼层 |阅读模式
滑鼠指向控件 便 出現 提示訊息  該如何?
滑鼠離開 訊息也就 消失
发表于 2012-8-22 17:32:08 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-8-22 17:41 编辑

回复 1# tcpuuu


1)如果是你自己做的GUI界面:
GUIGetCursorInfo,返回的$array[4] 就是 鼠标下面的控件的控件ID (0 为没有或者无法获取),判断一下,然后用 ToolTip 函数显示信息
论坛搜索一下就出来的:搜索“鼠标悬停”

2)如果是外部程序的GUI界面:
用UDF  _Hover检测鼠标是否移到了指定控件上
UDF在 这里
 楼主| 发表于 2012-8-22 17:42:22 | 显示全部楼层
GUICreate("EXCEL",600,100,-1,-1)

local $EO=6,$KU=2,$KI=56,$KO=17
local $SL[10]
For $i = 0 To 9
$SL[$i] = GUICtrlCreateLabel("",$EO,$KU,$KI,$KO,0x01)
$EO+=57
GUICtrlSetBkColor($SL[$i],0xFFFFFF)
Next
;=============================================================================
GUISetState(@SW_SHOW)
        Local $nMsg
        While 1
        $nMsg = GUIGetMsg()
           Switch $nMsg
                    Case -3
                      Exit                 
            EndSwitch
;指向 $SL[0] 出現  "我是SL[0]"
;指向 $SL[1] 出現  "我是SL[1]"
        WEnd

=============================
怎麼用  可以編個 例子 嗎?
发表于 2012-8-22 18:05:12 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-8-22 18:06 编辑

回复 3# tcpuuu


$hGUI = GUICreate("EXCEL", 600, 100, -1, -1)

local $EO=6,$KU=2,$KI=56,$KO=17
local $SL[10]
For $i = 0 To 9
        $SL[$i] = GUICtrlCreateLabel("",$EO,$KU,$KI,$KO,0x01)
        $EO+=57
        GUICtrlSetBkColor($SL[$i],0xFFFFFF)
Next
;=============================================================================
GUISetState(@SW_SHOW)
Local $nMsg

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit                 
        EndSwitch
        
        Local $info = GUIGetCursorInfo()
        Local $ctrlId = $info[4], $isOnCtrl = False
        ;ConsoleWrite($ctrlId & @CRLF)
        For $i = 0 To 9
                If $ctrlId = $SL[$i] Then
                        $isOnCtrl = True                        
                        ToolTip("我是SL[" & $i & "]")
                        ExitLoop
                EndIf
        Next
        If Not $isOnCtrl Then ToolTip("")
WEnd
发表于 2012-8-22 20:30:06 | 显示全部楼层
简单的问题复杂化
GUICtrlSetTip($lable1, '这是一段提示信息')
发表于 2012-8-22 20:36:41 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-8-22 20:38 编辑

回复 5# komaau3



嗯。。。这就是所谓的差距,中级选手与高级选手的差距!
中级选手就是能把东西做出来,而高级选手能够找到最优方案。
 楼主| 发表于 2012-8-22 20:57:19 | 显示全部楼层
這個看來 是 簡單一個 GUICtrlSetTip 就可
謝謝你們解答
----------------------------------
For $i = 0 To 9
$SL[$i] = GUICtrlCreateLabel("",$EO,$KU,$KI,$KO,0x01)
$EO+=57
GUICtrlSetBkColor($SL[$i],0xFFFFFF)

GUICtrlSetTip($i+3,'SL'& $i)

Next
===============
奇怪是 怎從 3 開始   多了1個 +3 才變成 從 0開始?
发表于 2012-8-22 21:53:45 | 显示全部楼层
回复 6# xiehuahere

啊啊   我只是来打酱油的
发表于 2012-8-22 22:26:05 | 显示全部楼层
回复 7# tcpuuu


    3     :   自己的 GUI 里的控件的ID都是从3开始, 你的GUI一开始就只创建了一系列的LABEL ....
发表于 2012-8-22 22:30:32 | 显示全部楼层
来学习一下
发表于 2012-8-22 22:46:10 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-8-22 22:47 编辑

回复 7# tcpuuu


直接用
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetTip(-1,'SL'& $i)
即可。
-1 就表示使用之前刚刚创建的控件ID
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-27 11:40 , Processed in 0.075112 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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