滑鼠指向控件 便 出現 提示訊息 該如何?
滑鼠指向控件 便 出現 提示訊息該如何?滑鼠離開 訊息也就 消失 本帖最后由 xiehuahere 于 2012-8-22 17:41 编辑
回复 1# tcpuuu
1)如果是你自己做的GUI界面:
GUIGetCursorInfo,返回的$array 就是 鼠标下面的控件的控件ID (0 为没有或者无法获取),判断一下,然后用 ToolTip 函数显示信息
论坛搜索一下就出来的:搜索“鼠标悬停”
2)如果是外部程序的GUI界面:
用UDF_Hover检测鼠标是否移到了指定控件上
UDF在 这里。 GUICreate("EXCEL",600,100,-1,-1)
local $EO=6,$KU=2,$KI=56,$KO=17
local $SL
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 出現"我是SL"
;指向 $SL 出現"我是SL"
WEnd
=============================
怎麼用可以編個 例子 嗎? 本帖最后由 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
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, $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 简单的问题复杂化GUICtrlSetTip($lable1, '这是一段提示信息') 本帖最后由 xiehuahere 于 2012-8-22 20:38 编辑
回复 5# komaau3
{:face (340):}
嗯。。。这就是所谓的差距,中级选手与高级选手的差距!
中级选手就是能把东西做出来,而高级选手能够找到最优方案。 這個看來 是 簡單一個 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開始? 回复 6# xiehuahere
啊啊 我只是来打酱油的 回复 7# tcpuuu
3 : 自己的 GUI 里的控件的ID都是从3开始, 你的GUI一开始就只创建了一系列的LABEL .... 来学习一下 本帖最后由 xiehuahere 于 2012-8-22 22:47 编辑
回复 7# tcpuuu
直接用
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetTip(-1,'SL'& $i)
即可。
-1 就表示使用之前刚刚创建的控件ID
页:
[1]